我有一个double
名为的变量totalCost
,它的值是1025
. 调用一个简单的结果string.Format
如下:
?string.Format("{0}",totalCost)
"1,025"
我的千位分隔符是点,而小数点分隔符是逗号。
奇怪的部分如下:
?string.Format("{0:0.0}",totalCost)
"1,0"
不应该是1025.0
(或1,025.0
)吗?
它似乎将双精度转换为字符串(给出“1.025”),然后在不使用我的分隔符设置的情况下重新解析它(将其解释为千分之二五),最后格式化转换后的值。
编辑:线程文化是:
?System.Threading.Thread.CurrentThread.CurrentCulture
{it-IT}