2 u010589258 u010589258 于 2014.12.12 14:13 提问

double转string 小数点后边0为什么没了

string[] str = specification2.Split('*');
specification2 = string.Empty;
for (int i = 0; i < str.Length; i++)
{
double outpar = 0;
if (!double.TryParse(str[i], out outpar))
{
Regex regex = new Regex("[A-Z]{1}", RegexOptions.IgnoreCase);
try { outpar = Convert.ToInt32(regex.Replace(str[i], new MatchEvaluator(OutPutMatch))); }
catch { outpar = 0; }
}
string par = outpar > 0 ? outpar.ToString() : string.Empty;

            if (i == 0) thicknessone = thicknesstwo = par;//厚
            if (i == 1) witchone = witchtwo = par;//宽
            if (i == 2) longone = longtwo = par;//长
        }

3个回答

caozhy
caozhy   Ds   Rxr 2014.12.12 14:16

outpar = Convert.ToInt32
你又取整了

u010589258
u010589258 比如说 double outpar =5.0; 可是 outpar.Tostring()之后变成 5了,我还想要他是5.0,这个问题怎么解决!
接近 3 年之前 回复
Sunny_Lynn
Sunny_Lynn   2014.12.12 14:25

可以调试先,目测你是取整了Convert.ToInt32

q107770540
q107770540   Ds   Rxr 2014.12.12 14:32

double->string->int 肯定会丢失精度的啊

u010589258
u010589258 回复aijiadexiaobao: 没看懂你说的啥意思啊 X1000倍 等与5000了??
接近 3 年之前 回复
aijiadexiaobao
aijiadexiaobao 回复u010589258: 可以 试着X1000倍;转成 int 后 再除! LZ 可以考虑一些... 不成熟的想法
接近 3 年之前 回复
u010589258
u010589258 怎么不让他丢失啊 比如说 double outpar =5.0; 可是 outpar.Tostring()之后变成 5了,我还想要他是5.0,这个问题怎么解决!
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片