Demonjp 2020-09-24 02:51 采纳率: 0%
浏览 153

C# str字符串转换成double的一个问题

先上代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using System.Drawing;
using System.ComponentModel;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Threading.Tasks;
using Ivi.Visa.Interop;
using System.Diagnostics;
using System.Globalization;
.
.
.
String str2 = inst.ReadString(); // 这个字符串是检测器传过来的

try
{
MessageBox.Show(str2, "str2");//为转化的字符串
double v1 = double.Parse("0.000342351234,23");//问题点1
MessageBox.Show(string.Format("{0}", v1), "v1");
}
catch
{
MessageBox.Show("error");
}
try
{
double v2 = Convert.ToDouble("1234,0.000342351234");//问题点2
MessageBox.Show(string.Format("{0}", v2), "v2");
}
catch
{
MessageBox.Show("error");
}

问题出在转化的字符转,感觉问题出在小数点和逗号的问题上,所以具体转化的字符串我就没用str2,而改写了具体的自己编的字符串来找出问题。
现在的问题是,前面是’12‘之类大于1的数字,加','再跟小数可以正常转化,但是把'0.0012358'类似的小数放在前面就会出错。
double.Parse("",AllowThousands)这个代码我也用过,一样出错了
求问怎么解决。

  • 写回答

3条回答 默认 最新

  • threenewbee 2020-09-24 09:13
    关注

    double.Parse("0.000342351234,23".Replace(",", ""));
    就是了。

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题