我如何转换我的字符串?

时间:2015-02-01 03:33:53

标签: c# decimal string-conversion

我有一个字符串,最多可以包含9个字符,包括一个可选的小数点,但其他所有字符串都是数字。例如,它可以是"123456789""12.345678"

我应该将哪种变量类型转换为可以在计算中使用它?

我该怎么做?

3 个答案:

答案 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)

您应该将其转换为floatdoubledecimal,具体取决于数字的大小。

您可以使用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)

这是一个精确度和一点内存消耗的问题。 如果浮点余数对您很重要,请使用以下方法之一:

  1. float - 4个字节,7位精度

  2. Double - 8个字节,15-16位精度

  3. 十进制 - 16个字节,28-29位精度