asp.net C# 十进制格式钱
本文关键字:格式 十进制 net asp | 更新日期: 2023-09-27 18:34:57
我有一个十进制值存储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
格式的它
使用 #.00 的格式字符串始终显示到小数点后 2 位。
Label price.Text = String.Format("{0:#.00}", 12.1000)
https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings
你可以
这样尝试:-
<%# DataBinder.Eval(Container.DataItem, "Price", "{#.00}")%>
编辑:-
我认为您需要这些值而不对其进行四舍五入。你可以这样尝试:-
var f = 12.3456;
f = Math.Truncate(f * 100) / 100;
您可以使用
Math.Floor(12.3456*100) / 100 ;
.toString(C( 'C' 代表货币。