复杂字符串到双精度转换
我的 XML 文件中的字符串是双精度(或浮点数),例如:
<VIPair>
<voltage>+100mV</voltage>
<current>+1.05pA</current>
</VIPair>
<VIPair>
<voltage>+5.00mV</voltage>
<current>+0.0035nA</current>
</VIPair>
第一对是“0.1”伏特和“0.00000000000105”安培。 第二对是“0.005”伏特和“0.000000000035”安培。
在 C# 中如何将它们转换为双精度浮点数? 谢谢。
PS:我已经可以从 xml 文件中读取它们,目前我将它们作为字符串检索。
I have strings in a XML file that ment to be doubles (or float) such as:
<VIPair>
<voltage>+100mV</voltage>
<current>+1.05pA</current>
</VIPair>
<VIPair>
<voltage>+5.00mV</voltage>
<current>+0.0035nA</current>
</VIPair>
The first pair will be "0.1" Volt and "0.00000000000105" Ampere.
The second pair would be "0.005" Volt and "0.000000000035" Ampere.
How can I convert them to double of float in C#?
Thanks.
P.S: I already can read them from xml file and at the moment I retrive them as string.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
尝试用这个:
Try with this:
您好,这是 Marco 所写内容的另一个版本。
假设您已经可以使用 html 文本。我尝试用一个子字符串做同样的事情,用字符而不是字符串切换大小写(这比比较字符串要快一些)和 double.parse。希望有人能想出比这个更好的版本。
Hi here is another version of what Marco has written.
Assuming that the html text is already available to you. I have tried to do the same thing with one substring, switch case with characters instead of strings(This is a bit faster to comparing strings) and a double.parse. Hope someone comes up with a better version than this.
使用
string.Substring
或string.Remove()
方法删除后缀字符串mV
和nA
并使用double.TryParse()
方法将字符串解析为双精度。Remove the suffix string
mV
andnA
usingstring.Substring
orstring.Remove()
method and usedouble.TryParse()
method to parse string to double.如果您的值末尾总是有 2 个字符,您可以简单地删除它们并解析数字。
If your values always have 2 chars on the end you could simple remove these and parse the number.