目的:将字符串“163.45”转换成16345。代码如下:#include <conio.h>#include <stdlib.h>#include <stdio.h>void main(){char *cha=\"163.45\&q...
全文
回复(10) 2002-11-21 09:18 来自版块 - ABC初学者
表情
xeonjohnnum =num1; 改为: num =num1+0.5; 一切OK。 请参考我在xici C++Builder论坛发表的贴子 (2002-11-22 17:21)
rudolfchar cha[]=\"163.45\"; 老大,这样是啃腚不行的。 呵呵。 :D :D :D(2002-11-22 10:45)
cn18799以上是因为浮点数不是“精确”的。(2002-11-22 08:35)
cn18799num=x1 //舍弃小数部分(总会有某些数有问题,如16344.9 --> 16344) num=x1+0.5 //四舍五入(应该没问题了)(2002-11-22 08:33)
arthurtuchar cha[]=\"163.45\";(2002-11-21 15:57)
rudolf我只是奇怪,为什么在其他的数据没有问题呢? 如果改变了数据类型就太麻烦了。 我现在是这样处理的: 把x1=x1*100; 改成: x1=x1*10; x1=x1*10; 就好了。 太讨厌了。 :( :( :( :( :((2002-11-21 12:14)
OneWindlong 为32位 double 为64位 把你的 long类型的num改为double类型再适一下 (2002-11-21 10:03)
Buddha用sscanf(ch, \"%f\", &x1);(2002-11-21 10:00)
ydyuse我在VC CONSOL APP中得到了16345。(2002-11-21 09:57)
ydyusebuild warning: conversion from \'double\' to \'float\', possible loss of data 我的修改: #include <conio.h> #incl...(2002-11-21 09:55)

返回顶部