当前位置:编程学习 > C#/ASP.NET >>

ToString("c")如何非代码方式控制小数位数

输出保留两位小数
decimal d =  0.04M;
Response.Write(d.ToString("c"));

正常输出 ¥0.04

但换了一台机器后小数位置就没了 只有输出¥0  必须d.ToString("c2")  才能输出后两位小数,相当于它自动给四舍五入了
系统哪里市里得不对?我对 区域与语言选项里也设置了 也变不过来
--------------------编程问答-------------------- d.ToString("0.##")好像不会四舍五入 --------------------编程问答-------------------- 关键是源代码只用了d.ToString("c")   不然就需要大量改源码几万个页面 改起有风险,上面不准动源码,只有改系统设置 --------------------编程问答-------------------- 是系统设置吗? --------------------编程问答-------------------- .NET输出格式化货币跟Thread.CurrentCulture有关,而这个Thread.CurrentCulture和系统的语言设置有关系,你可以在控制面板中语言和区域选项中改变选项,我试了下中国和美国选项都会自动输出两位小数的(XP系统),你可以在选项右边选自自定义,里面有具体的货币保留小数的设置。 --------------------编程问答-------------------- 我修改了控制面板的 区域和 语言选项,在WinForm程序中测试已经生效,可是在asp.net页面中还是没生效 ,测试代码如下
int a;
            a= System.Globalization.CultureInfo.InvariantCulture.NumberFormat.CurrencyDecimalDigits;
            a = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalDigits;
            a = System.Globalization.CultureInfo.InstalledUICulture.NumberFormat.CurrencyDecimalDigits;
            a = System.Globalization.CultureInfo.CurrentUICulture.NumberFormat.CurrencyDecimalDigits; --------------------编程问答-------------------- 有人在么 出来说说呀 --------------------编程问答-------------------- 天啦天啦 ,技术氛围都到哪里去了,都被那些足下软件培训,北大青鸟等软件培训机构害了,现在都剩些什么人在CSDN上混,原来的CSDN那是精英倍出,哎
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,