【发布时间】:2011-03-10 15:35:45
【问题描述】:
我需要将文本框(即货币)的内容转换为浮点数据类型。 我会转为单身吗?
txtPurchItemCorrectPrice.Text.Trim();
【问题讨论】:
我需要将文本框(即货币)的内容转换为浮点数据类型。 我会转为单身吗?
txtPurchItemCorrectPrice.Text.Trim();
【问题讨论】:
如果您正在处理货币,那么我至少会使用double,如果不是decimal。那就是说你想要:
double value = double.Parse(txtPurchItemCorrectPrice.Text.Trim());
如果你不确定它是否是一个数字:
double value;
bool isOK = double.TryParse(txtPurchItemCorrectPrice.Text.Trim(), out value);
【讨论】:
Parse 而不是 TryParse。
你的意思是 C# float 类型吗?
float f = float.Parse(text);
或者……
float value;
if (float.TryParse(text, out value))
{
// Yay!
}
else
{
// Boo! Parse failed...
}
请注意,上面的代码将使用当前的文化。您可能想要指定不同的文化,例如
...
if (float.TryParse(text, out value, NumberStyles.Float,
CultureInfo.InvariantCulture))
...
编辑:如果这实际上是数据库中的浮点列,您可能想改用double。
请注意,货币信息通常不应使用 float/double 存储;它应该使用 decimal 类型存储,例如decimal (C#) 和 NUMBER (SQL)。
【讨论】:
float.TryParse(…)
这样可以避免在输入无效时引发异常。
【讨论】:
Dim x As Double = Convert.ToDouble(txtPurchItemCorrectPrice.Text.Trim())
【讨论】: