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

sunjunfeng5 2011-04-23 06:48:16
输出保留两位小数
decimal d = 0.04M;
Response.Write(d.ToString("c"));

正常输出 ¥0.04

但换了一台机器后小数位置就没了 只有输出¥0 必须d.ToString("c2") 才能输出后两位小数,相当于它自动给四舍五入了
系统哪里市里得不对?我对 区域与语言选项里也设置了 也变不过来
...全文
304 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunjunfeng5 2011-04-24
  • 打赏
  • 举报
回复
我修改了控制面板的 区域和 语言选项,在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;
sunjunfeng5 2011-04-24
  • 打赏
  • 举报
回复
有人在么 出来说说呀
sunjunfeng5 2011-04-24
  • 打赏
  • 举报
回复
天啦天啦 ,技术氛围都到哪里去了,都被那些足下软件培训,北大青鸟等软件培训机构害了,现在都剩些什么人在CSDN上混,原来的CSDN那是精英倍出,哎
324374 2011-04-23
  • 打赏
  • 举报
回复
.NET输出格式化货币跟Thread.CurrentCulture有关,而这个Thread.CurrentCulture和系统的语言设置有关系,你可以在控制面板中语言和区域选项中改变选项,我试了下中国和美国选项都会自动输出两位小数的(XP系统),你可以在选项右边选自自定义,里面有具体的货币保留小数的设置。
duanzhi1984 2011-04-23
  • 打赏
  • 举报
回复
是系统设置吗?
sunjunfeng5 2011-04-23
  • 打赏
  • 举报
回复
关键是源代码只用了d.ToString("c") 不然就需要大量改源码几万个页面 改起有风险,上面不准动源码,只有改系统设置
  • 打赏
  • 举报
回复
d.ToString("0.##")好像不会四舍五入

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧