diff --git a/osu.Game/Scoring/ScoreInfo.cs b/osu.Game/Scoring/ScoreInfo.cs
index 8dc5137818..bed9104cad 100644
--- a/osu.Game/Scoring/ScoreInfo.cs
+++ b/osu.Game/Scoring/ScoreInfo.cs
@@ -13,6 +13,7 @@ using osu.Game.Rulesets;
using osu.Game.Rulesets.Mods;
using osu.Game.Rulesets.Scoring;
using osu.Game.Users;
+using osu.Game.Utils;
namespace osu.Game.Scoring
{
@@ -32,7 +33,7 @@ namespace osu.Game.Scoring
public double Accuracy { get; set; }
[JsonIgnore]
- public string DisplayAccuracy => Accuracy == 1 ? "100%" : $"{Accuracy:0.00%}";
+ public string DisplayAccuracy => Accuracy.FormatAccuracy();
[JsonProperty(@"pp")]
public double? PP { get; set; }
diff --git a/osu.Game/Users/UserStatistics.cs b/osu.Game/Users/UserStatistics.cs
index 0f692dd60d..129c128977 100644
--- a/osu.Game/Users/UserStatistics.cs
+++ b/osu.Game/Users/UserStatistics.cs
@@ -5,6 +5,7 @@ using System;
using Newtonsoft.Json;
using osu.Game.Scoring;
using static osu.Game.Users.User;
+using osu.Game.Utils;
namespace osu.Game.Users
{
@@ -44,7 +45,7 @@ namespace osu.Game.Users
public decimal Accuracy;
[JsonIgnore]
- public string DisplayAccuracy => $"{Accuracy:0.00%}";
+ public string DisplayAccuracy => Accuracy.FormatAccuracy();
[JsonProperty(@"play_count")]
public int PlayCount;
diff --git a/osu.Game/Utils/FormatUtils.cs b/osu.Game/Utils/FormatUtils.cs
new file mode 100644
index 0000000000..f966c09a67
--- /dev/null
+++ b/osu.Game/Utils/FormatUtils.cs
@@ -0,0 +1,21 @@
+namespace osu.Game.Utils
+{
+ public static class FormatUtils
+ {
+ ///
+ /// Turns the provided accuracy into a percentage with 2 decimal places.
+ /// Omits all decimal places when equals 1d.
+ ///
+ /// The accuracy to be formatted
+ /// formatted accuracy in percentage
+ public static string FormatAccuracy(this double accuracy) => accuracy == 1 ? "100%" : $"{accuracy:0.00%}";
+
+ ///
+ /// Turns the provided accuracy into a percentage with 2 decimal places.
+ /// Omits all decimal places when equals 100m.
+ ///
+ /// The accuracy to be formatted
+ /// formatted accuracy in percentage
+ public static string FormatAccuracy(this decimal accuracy) => accuracy == 100 ? "100%" : $"{accuracy:0.00}%";
+ }
+}
\ No newline at end of file