fixed formatting of floating point numbers during localization (#27441)

This commit is contained in:
KrasnoshchekovPavel 2024-04-29 07:52:35 +03:00 committed by null
parent f48a91dcce
commit 1930dd5abf
No known key found for this signature in database
GPG Key ID: 212F05528FD678BE
1 changed files with 2 additions and 2 deletions

View File

@ -69,7 +69,7 @@ namespace Content.Shared.Localizations
var maxDecimals = (int)Math.Floor(((LocValueNumber) args.Args[1]).Value);
var formatter = (NumberFormatInfo)NumberFormatInfo.GetInstance(CultureInfo.GetCultureInfo(Culture)).Clone();
formatter.NumberDecimalDigits = maxDecimals;
return new LocValueString(string.Format(formatter, "{0:N}", number).TrimEnd('0').TrimEnd('.') + "%");
return new LocValueString(string.Format(formatter, "{0:N}", number).TrimEnd('0').TrimEnd(char.Parse(formatter.NumberDecimalSeparator)) + "%");
}
private ILocValue FormatNaturalFixed(LocArgs args)
@ -78,7 +78,7 @@ namespace Content.Shared.Localizations
var maxDecimals = (int)Math.Floor(((LocValueNumber) args.Args[1]).Value);
var formatter = (NumberFormatInfo)NumberFormatInfo.GetInstance(CultureInfo.GetCultureInfo(Culture)).Clone();
formatter.NumberDecimalDigits = maxDecimals;
return new LocValueString(string.Format(formatter, "{0:N}", number).TrimEnd('0').TrimEnd('.'));
return new LocValueString(string.Format(formatter, "{0:N}", number).TrimEnd('0').TrimEnd(char.Parse(formatter.NumberDecimalSeparator)));
}
private static readonly Regex PluralEsRule = new("^.*(s|sh|ch|x|z)$");