[英]C# Decimal Formatting Query
我正在尝试格式化一个十进制格式,以便将其显示为:
14.5应该显示为“ 14.50” 14.50应该显示为“ 14.50” 14.05应该显示为“ 14.05” 14.00应该显示为“ 14”
是否可以使用单个字符串格式,即不使用条件格式?
我已经尝试过“ 0。##”(不满足第一个示例)和“ 0.00”(不满足最后一个示例)。
谢谢。
是。 您可以使用“ G”格式说明符。 有关示例,请参见String.Format的文档。
例如:
decimal value = 14.05m;
string result = String.Format("{0:G}", value); // "14.05"
value = 14m;
result = String.Format("{0:G}", value); // "14"
您可以使用以下格式:FormatNumber(VariableToBeFormatted,2).Replace(“。00”,String.Empty)
我认为如果没有某种条件格式设置,您将无法做到这一点,因为您希望格式设置可以在不同情况下执行不同的操作。
如果您选择14.5而不是14.50,那么可以使用0。##语法,但是我想不出一种解决方法。
按照Reed的回答,然后添加检查:
resultArray = result.Split('.');
if (resultArray.Length > 1 && resultArray[1].Length != 2)
result = String.Format("{0.00}", value);
不完全优雅,但可以为您带来想要的结果。
这是假定该人说不适用于14.5的评论是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.