phi*_*ili 23 c# asp.net double repeater
我有一个显示双重的转发器项目.偶尔双重似乎出现了像这个1165.833这样的3位小数.我试图通过将其包装在string.format方法中来强制它到两位小数,但它仍然是相同的:
<%# String.Format("{0:f2}",DataBinder.Eval(Container.DataItem, "pricerange").ToString())%>
Run Code Online (Sandbox Code Playgroud)
任何想法为什么?
Dav*_*tka 64
String
根本就没有实现IFormattable
.要使用格式,请删除.ToString(),以便不传入String.
<%# String.Format("{0:f2}",DataBinder.Eval(Container.DataItem, "pricerange"))%>
Run Code Online (Sandbox Code Playgroud)
要更明确地看到这一点,请运行以下代码:
Console.WriteLine(string.Format("{0:f2}", "123.888"));
Console.WriteLine(string.Format("{0:f2}", 123.888));
Run Code Online (Sandbox Code Playgroud)
哪个输出
123.888
123.89
Run Code Online (Sandbox Code Playgroud)
小智 14
您可以使用:
String.Format("{0:0.00}",value);
Run Code Online (Sandbox Code Playgroud)
基于MSDN,您应该能够在调用中表达格式掩码DataBinder.Eval
.
http://msdn.microsoft.com/en-us/library/2d76z3ck%28VS.90%29.aspx
所以基本上你应该能够这样做 - 并强制只显示2位小数:
<%# DataBinder.Eval(Container.DataItem, "pricerange", "{0:##0.00}")%>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
79466 次 |
最近记录: |