asp.net c#decimal formating money

时间:2013-10-12 09:58:44

标签: c# asp.net formatting decimal

我有一个十进制值存储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

4 个答案:

答案 0 :(得分:1)

使用#.00的格式字符串始终显示2个小数位。

http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

答案 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;是货币。