我有一个字符串,最多可以包含9个字符,包括一个可选的小数点,但其他所有字符串都是数字。例如,它可以是"123456789"
或"12.345678"
。
我应该将哪种变量类型转换为可以在计算中使用它?
我该怎么做?
答案 0 :(得分:1)
float.Parse("12.345678");
或
float.Parse("12.345678", CultureInfo.InvariantCulture.NumberFormat);
为了避免这些输出:
1.524157875019e + 16
8.10000007371e-9
对于整数,您还可以查看此链接:https://msdn.microsoft.com/en-us/library/bb397679.aspx
答案 1 :(得分:1)
您应该将其转换为float
,double
或decimal
,具体取决于数字的大小。
您可以使用Parse()
或TryParse()
将字符串解析为算术类型。
string numberString = "123456789";
double number;
if (!double.TryParse(numberString, out number))
{
// There was an error parsing ...
// Ex. report the error back or whatever ...
// You can also set a default value for it ...
// Ex. number = 0;
}
// Use number ...
答案 2 :(得分:1)
这是一个精确度和一点内存消耗的问题。 如果浮点余数对您很重要,请使用以下方法之一:
float - 4个字节,7位精度
Double - 8个字节,15-16位精度
十进制 - 16个字节,28-29位精度