R J*_*R J 2 .net c# double tostring
我有一种情况,我需要显示一个舍入到两个小数位的double值,但显示没有小数.在某些情况下我会想要使用相同的代码并以不同的方式显示double值,所以我希望通过传入字符串格式模式来处理这个问题.
例如,double值可能是:11367.2232我希望值为:1136722
另一个例子,值可能是344576.3457我想要的值是34457635
第三个例子,值可能是546788我希望值为54678800
所以,我想做点什么:
String.Format("{PATTERN}", dblCurrency);
Run Code Online (Sandbox Code Playgroud)
是否有任何格式化模式可以舍入到2位小数并删除小数显示?
LBu*_*kin 18
首先,有(非常)少数例外,用于操纵货币值通常是个坏主意double.你应该真的decimal用来代表这样的金额.
其次,舍入和显示格式是单独的操作,您的代码应单独表达.string.Format()不会提供同时执行这两种操作的单一格式掩码,但您可以轻松实现所需的内容:
decimal amount = 11367.3456m
String.Format( "{0:0}", amount*100 );
Run Code Online (Sandbox Code Playgroud)
这将输出:
1136735
Run Code Online (Sandbox Code Playgroud)
该D0格式说明发射数字值而没有任何分离器和与小数点后没有数字.您也可以使用ToString(),但我认为格式说明符更清楚地表达了意图.