![](/img/trans.png)
[英]Convert.ToSingle(value, new CultureInfo(“fr”)) method gives 'Exception' for french culture but its working for German culutre
[英]Why is 1 000 000 not equal to 1000000.toString(“N”, new CultureInfo(“fr-FR”))
我圍繞字符串轉換和貨幣編寫了一些單元測試。
給定CultureInfo方法已通過,我正在測試是否以期望的格式返回字符串。
public string GetOverspendAmount(double _amount, CultureInfo cultureInfo)
{
return amount.ToString("N", cultureInfo);
}
我正在通過以下調用對這部分代碼進行單元測試-
double amount = 1000000;
CultureInfo ci = new CultureInfo("fr-FR", false);
GetOverspendAmount(amount, ci).Should().Be("1 000 000");
但測試失敗。 預期外觀與實際外觀相同,但將其放入ascii轉換器后,將顯示以下結果
Expected - 1 000 000
49 32 48 48 48 32 48 48 48
Actual - 1 000 000
049 194 160 048 048 048 194 160 048 048 048
它們不是普通空間,但我想知道它們是什么,為什么它們不只是普通空間?
該空間是不間斷空間(UTF-8 194 160),而不是常規空間(UTF-8 32)。
https://utf8-chartable.de/unicode-utf8-table.pl?utf8=dec
不間斷空格在HTML之類的格式中有所作為,因為它不允許自動換行。 它還不允許多個空間折疊成一個空間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.