[英]How to convert a string to decimal with 2 decimal places?
我正在尝试将字符串转换为小数,但最后两个值是小数点。 例如:“001150”被转换成11.50。
我在搜索中找到的所有内容都会将字符串转换为小数,但字符串已经有小数点了。 我可能必须创建一个函数来从字符串中提取小数点,但想先看看是否还有其他想法。
string input = "001150";
string convertedString = string.Format(
"{0:N2}",
double.Parse(input)/100.0
);
首先检查字符串是否为数字,然后除以 100,然后格式化字符串:
public string ConvertTwoDecimals(string toConvert)
{
Double convertedValue;
var isNumber = Double.TryParse(toConvert, out convertedValue);
return isNumber ? $"{(convertedValue / 100):N2}" : $"{ 0:N2}";
}
如果您需要没有格式化的十进制类型:
public decimal ConvertToDecimal(string toConvert)
{
Decimal convertedValue;
var isNumber = Decimal.TryParse(toConvert, out convertedValue);
return isNumber ? convertedValue/100 : 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.