2 u011130937 u011130937 于 2014.09.09 12:53 提问

string 转换成double,小数点后只有6位

现有string 是15位的数字,转化成double,后小数点后最多6位,剩下的就四舍五入了。
我用的方法是【string doubleValue】;
比如,string是113.91101128472,转化成double是113.911011
希望大神帮我看看怎么能完全转化。。。不要四舍五入。。。

2个回答

u012220365
u012220365   2014.09.09 15:05

double的精度不够吧,用BigDecimal

yuankangyx
yuankangyx   2014.09.09 17:39

String str = "123.456789123165464644646464";
System.out.println(new BigDecimal(str).setScale(6,BigDecimal.ROUND_DOWN));

6是你要保存的小数位数。
至于你要加减乘除的那个就看api吧。上面有。

LLy3_1415926
LLy3_1415926 用你所说的这种方式会把String转成一个BigDecimal类型的数据,而人家想要得是double型
接近 2 年之前 回复
yuankangyx
yuankangyx 你想要几位数字你就把6改成几!
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java取小数点6位数
Java取小数点6位数
double 转String后保留小数后两位 例如:0.00,2.20,2.21
/** * double类型转String 类型的小数点后的00 * @param num double参数 * @return String 类型 */ public static String doubleTransform(double num){ String strNum = num+""; int a = str
实战c++中的string系列--指定浮点数有效数字并转为string
上一篇博客讲了好几种方法进行number到string的转换,这里再单独说一下float或是double到string的转换。还是处于控件显示的原因,比如说要显示文件的大小,我们从服务器可以获得这个文件的总bytes。这样就需要我们根据实际情况是显示bytes、kb、mb等单位。常用的做法就是把num_bytes/1024,这个时候往往会得到浮点型,浮点型转string也没问题,但是如果你需要保留这
ios NSString format 保留小数点 float double
self.orderCost.text = [NSString stringWithFormat:@"%.1f元",self.order.cost.floatValue]; %.1f  表示小数点一位,%.2f 表示小数点2位,依次类推. 格式定义 The format specifiers supported by the NSString formatting
qt 中保留小数位
QT保留小数点后x位小数: double/float  number=1.123456; 可以用QString str=QString::numer(number,'f',x);这样就保留了小数点后x位小数。
String 转换成保留两位小数的Sting
例:“500”---》“500.00” ,  “50.256”----》"50.25" String price_CNY ="5"; Double cny = Double.parseDouble(price_CNY);//转换成Double DecimalFormat df = new DecimalFormat("0.00");//格式化 String CNY = df.format(c
保留X位小数(Double) swift
代码如下,输入要保留的小数个数   extension Double {     /// Rounds the double to decimal places value     func roundTo(places:Int) -> Double {         let divisor = pow(10.0, Double(places))      
C++的小数点后几位和几位有效数字
cout cout #include #include using namespace std; float c; float fun(float a){ if(a==1){ return 1; }else{ return 1/(1+fun(a-1)); } } int main(){ float n,a,b; while(scanf("%f",&n)=
java Android 中的字符串比较和double类型转换为两位小数点
今天在编程的过程中,发现了一个问题,发现Java在字符串比较这一块和我们想的不是一样。String a =new String("fwe"); String b =new String("fwe"); if(a==b){ System.out.println("对吗"); } if(a.equals(b)){ System.out.println("对"); }执行结果是:对。这里面
C#中将double变量格式化为字符串,且保留小数点后面的全部位数
原文: http://www.crifan.com/csharp_format_double_to_string_with_dicimal_point/ 【问题】 C#中已经获得一个double变量值,比如1343392590725.6758,然后想要将其转换为字符串,且保留全部的小数点后的4位,但是结果却是: ? 1 2 3 4 5 6 7 8