我有一个十进制值存储db为“12.3456”我希望它将它显示给客户端为“12.34”
我正在使用以下代码。
<%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}")%>
我希望格式像这样
12.3456 --> 12.34
但它给了我这个。
12.3456 --> 12.3500
我不确定我是否遗漏了某些东西或做错了什么。
感谢您的帮助。
更新
我最终使用asp:Label
代替<%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}")%>
Label Price.Text = Math.Truncate(12.3456* 100) / 100).ToString();
给了我
12.34
但如果号码为12.1000
则给予我
12.1
我需要12.10
格式
谢谢。
解决
Label price.Text = String.Format("{0:#.00}", 12.1000) --> 12,10
答案 0 :(得分:1)
使用#.00的格式字符串始终显示2个小数位。
答案 1 :(得分:0)
您可以尝试这样: -
<%# DataBinder.Eval(Container.DataItem, "Price", "{#.00}")%>
修改: - 强>
我认为你需要这些值而不需要舍入它。您可以尝试这样: -
var f = 12.3456;
f = Math.Truncate(f * 100) / 100;
答案 2 :(得分:0)
您可以使用
Math.Floor(12.3456*100) / 100 ;
答案 3 :(得分:0)
.toString(C)&#39; C&#39;是货币。