无法在 C# 中将字符串转换为 int 类型,给出错误 - 输入字符串格式不正确
本文关键字:字符串 出错 错误 不正确 格式 输入 类型 int 转换 | 更新日期: 2023-09-27 18:31:06
我想将字符串转换为 int。我有这样的字符串值"45,454,566.00"
.类型转换抛出错误时
输入字符串格式不正确
int GrandTotalInWords = Int32.Parse(grandtotal);//error
grandTotalInWords.InnerHtml = ConvertNumbertoWords(GrandTotalInWords);
首先,int.Parse
使用不包含任何千和小数分隔符样式的NumberStyles.Integer
。
其次,您的CurrentCulture
可能不会将,
用作NumberGroupSeparator
和/或可能不会将.
用作NumberDecimalSeparator
。
只需指定您的区域性设置和数字样式;
int GrandTotalInWords = int.Parse(grandtotal,
NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands,
CultureInfo.InvariantCulture);
顺便说一下,如果您的分数部分并不总是零,则使您的string
不是int
的有效格式。在这种情况下,您可能需要将其解析为浮点类型,如 double
as;
double GrandTotalInWords = double.Parse(grandtotal,
NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands,
CultureInfo.InvariantCulture);