我需要更新一些现有的代码,以便(有条件地)显示一个没有任何小数位的数字.
使用以下两行取决于是否需要"£"符号.
currency = string.Format(CultureInfo.CurrentCulture, "{0:£#,0.00}", data);
Run Code Online (Sandbox Code Playgroud)
要么
currency = string.Format(CultureInfo.CurrentCulture, "{0:#,0.00}", data);
Run Code Online (Sandbox Code Playgroud)
我尝试更改此代码以使用{0:£#,0}并删除小数位时,"数据"值23699.99舍入为23700而不是23699.
我尝试{0:£#,0}尝试了解发生了什么,并再次将23699.99舍入到23700.
任何人都可以解释为什么会这样吗?
先感谢您.
格式化数字时,它总是以您选择的精度四舍五入到最接近的数字.例如,如果使用一个小数位格式,则0.86将舍入为0.9,而0.96将舍入为1.0.
类似地,如果您打印时没有小数位,则23699.99将舍入到23700,因为23700是没有小数位的数字,最接近23699.99.
如果要向下舍入使用Math.Floor.