akd*_*akd -5 c# double exponent tryparse
我花了一天的时间来弄清楚if语句之一为字符串值返回true的问题.
我们正在解析以检查值是数字还是字符串.我发现使用了这个语句,当字符串值作为6E02时,语句返回true,这是一个double值.
var double temp;
var val ="6E02"
result = double.TryParse(val, out temp)
Run Code Online (Sandbox Code Playgroud)
如何修复此问题以返回字符串的结果为false,如(Number)E0(Number)
简单的方法我相信首先检查文本是否包含E0,如果它只返回false.但有没有更好的方法来处理这个或另一个内置的方法来替换方法?
And*_*old 13
6E02是6*10 ^ 2或600的科学记数法,当然是双倍的.这是内置于C#中的.
如果你想用科学记数法排除数字,那么有一个过载TryParse,有几个选项,其中之一是是否包括科学记数法.
var double temp;
var val = "6E02";
result = double.TryParse(val, NumberStyles.None, CultureInfo.CurrentCulture, out temp);
....
Run Code Online (Sandbox Code Playgroud)
此示例不采用任何样式,这意味着只会解析具有数字的字符串.您可以在Sam的回答中提到其他选项.
您还必须指定具有此重载的区域性; 我的示例使用应用程序的当前文化,但您可以明确地给它任何你想要的.
Sam*_*ell 10
默认情况下,double.TryParse使用以下标志NumberStyles:
您可以使用其他重载TryParse来根据自己的喜好仅指定其中的一部分.特别是,您想删除(至少)AllowExponent标志.
| 归档时间: |
|
| 查看次数: |
376 次 |
| 最近记录: |