无法解析这个 int

Can't parse this int

我有一个简单的问题,我在做的时候出错了: 我无法将其转换为整数...

string buy = "16.11";
int _buy = (int.Parse(buy) * 9);

Int代表整数。您不能将定界值解析为 int。将其更改为双精度或十进制。例如:

string buy = 16.11;
double _buy = double.Parse(buy) * 9;

嗯,16.11 是一个 浮点数 ,所以你必须解析成 Double 向上舍入int:

string buy = "16.11";
int _buy = (int)(Double.Parse(buy) * 9 + 0.5); // 0.5 for rounding up

如果 _buy 实际上是 floatdecimal,请将其视为 float十进制

 string buy = "16.11";
 // We usually use Decimal for money
 Decimal _buy = Decimal.Parse(buy) * 9;

字符串变量不能保存十进制值,你的字符串初始化也是错误的,你可以这样做,字符串应该在双引号内,否则你应该添加.ToString():

string buy = "16.11";
int _buy = (int)(Double.Parse(buy) * 9 + 0.5);