Converting a string to a float data type

别来无恙 提交于 2019-12-29 07:07:09

问题


I need to convert the contents of a Textbox (which is currency) to a datatype float. Would I convert to single?

txtPurchItemCorrectPrice.Text.Trim();


回答1:


If you're dealing with currency then I would use double at the very least, if not decimal. That said you want:

double value = double.Parse(txtPurchItemCorrectPrice.Text.Trim());

If you're not sure whether it will be a number or not:

double value;
bool isOK = double.TryParse(txtPurchItemCorrectPrice.Text.Trim(), out value);



回答2:


Do you mean the C# float type?

float f = float.Parse(text);

Or...

float value;
if (float.TryParse(text, out value))
{
     // Yay!
}
else
{
     // Boo! Parse failed...
}

Note that the code above will use the current culture. You may want to specify a different culture, e.g.

...
if (float.TryParse(text, out value, NumberStyles.Float,
                   CultureInfo.InvariantCulture))
...

EDIT: If this is actually a float column in a database, you may want to use double instead.

Note that currency information should usually not be stored in using float/double; it should be stored using a decimal type, e.g. decimal (C#) and NUMBER (SQL).




回答3:


float.TryParse(…)

That avoids raising an exception on invalid input.




回答4:


Dim x As Double = Convert.ToDouble(txtPurchItemCorrectPrice.Text.Trim())



来源:https://stackoverflow.com/questions/3158223/converting-a-string-to-a-float-data-type

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!