关于double 运算后多出很多小数的问题 [问题点数:20分,结帖人zmidl]

Bbs2
本版专家分:438
结帖率 98.38%
Bbs6
本版专家分:5221
Bbs4
本版专家分:1801
Bbs4
本版专家分:1801
Bbs7
本版专家分:15137
Bbs6
本版专家分:5959
关于double小数位数的问题
rn<em>double</em> d1 = 21335.38;rnrnd1 -= 21335;rn rnResponse.Write(d1.ToString());rnrn结果是:rn0.380000000001019rnrn而不是0.38,rnrn这是什么原理?
【java解惑】使用double进行小数运算
如下代码:public class Example002 { public static void main(String args[]) { System.out.println("println:( 2.00 - 1.10) = " + (2.00 - 1.10)); System.out.printf("printf:( 2.00 - 1.10) = %.2f%n", 2.00 -
关于double运算
[code=Java]rnpublic class Do2rn public static void main(String[] args)rn <em>double</em> d=2.3;rn rn System.out.println(d+.7); System.out.println((d+.7)==3);rn System.out.println(d-1.3); System.out.println((d-1.3)==1);rn rnrnrnrn[/code]rn运行结果为rnrn3.0rntruern0.9999999999999998rnfalsernrn为什么2.3-1.3不为1?
关于double数据类型的运算
请问<em>double</em>数据类型的乘除<em>运算</em>的原理及过程是怎样的,谢谢!
double小数问题
如果是 1/6 就是保留两位<em>小数</em>输入 0.17rn 1/10 就是原样输入 0.1rn 1/0 就是0.0rnrnrnrn不知道怎么弄 求解答
两个Double相加,小数点有很多问题
在我们进行两个<em>double</em><em>运算</em>时,例如:2..0-1.1 不是想象的输出0.9,而是0.89999999999999999。其主要原因是浮点数值采用二进制系统表示,而在二进制系统中无法精确的白石分数1/10。这就好像十进制无法精确地表示1/3一样。如果需要在数值计算中不含有任何舍入误差,就应该使用BigDecimal类!
java中两个double类型的两位小数相加为什么会变成有很多小数位的小数?
现象: Double d1=904163.08; Double d2=210298.99; // 结果是:1114462.0699999998 Double totalmoney1=d1+d2; 修改后: BigDecimal b1 = new BigDecimal(Double.toString(904163.08)); BigDecimal b2 = new BigDecima...
两个double类型相加,控制小数点后的位数
java中<em>double</em>类型数据的 位数就是这么多位的 至于 num1是<em>double</em> num2是int num1+num2 因为<em>double</em>类型的数据占的字节多 所以java编译器会自己帮你把int类型的数据转换成<em>double</em> 类型的数据 然后再实行两个<em>double</em>类型的数据相加 DOUBLE操作类 [code=&quot;java&quot;] public class DoubleOper...
JavaScript 小数相加小数点后面多出很多
javascript浮点<em>运算</em>的一个bug. 解决办法: 使用toFixed(2)函数把结果保留<em>小数</em>点后两位!或后几位
一个奇怪的问题:3个double类型相加出现多余小数
可能有人会说返回了<em>double</em>,自然会出现精度<em>问题</em>,用decimal转换,但我发现相加时是否出现多余<em>小数</em>位居然和输入的数字有关!先看代码: 代码 public class Test{ <em>double</em> f
double的减法运算问题。。
<em>double</em> a = 4.4400072;rn<em>double</em> b = 4.4400001;rn<em>double</em> result = a - b;rnrn运行得出的结果是一个错误值。rn请问怎么解决???
一个double运算问题
rnrn我的情况是这样的rnrn<em>double</em> d1 = 7918.2;rn<em>double</em> d2 = 0.48;rnrn<em>double</em> d3 = d1+d2 = 7918.6799999999994;rnrn为什么会出现那么长的<em>小数</em>位呢?愁死人了
double 运算精度的问题
<em>double</em> test111 = 1374518144.0000000;rntest111 -= 2.0; // 没<em>问题</em> -2正常,得到1374518142.0000000;rnrnif( FAILED( IDirect3D8->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwnd,rn D3DCREATE_SOFTWARE_VERTEXPROCESSING,rn d3dpp, &pD3DDevice ) ) )rnrn _PostError("Can't create D3D device");rn return false;rnrnrntest111 = 1374518144.0000000;rntest111 -= 2.0; // 不正常 结果还是1374518144.0000000 这里如果减100会得到1374518016(精度相差28)rn可能与CreateDevice这个函数有关, 但是一般会是什么情况导致这种<em>问题</em>?求教。
关于double、decimal的小数位数
请问有没有办法设置<em>double</em>的<em>小数</em>位数,就是让它在计算过程中只保留几位<em>小数</em>(比如三),而不仅仅是在输出的时候。rndecimal 呢。rnrn<em>关于</em>这两个类型的<em>小数</em><em>问题</em>不太了解希望给些解释
小数运算问题
60000.00*15*6/12/100=4500.01rn40000.00*15*6/12/100=3000.00rn为什么会<em>多出</em>0.01来呢?
关于double 相加时出现的多位
String test = "40.61 ,  18588.73,    29925.07,    7986.06,    18639.19,    25914.32,     32907.74,     34165.89,     9724.7,     52777.92";  String[] arr = test.split(",");  <em>double</em> sum = 0;  for(in
Java Double相加出现的怪事
<em>问题</em>的提出:      编译运行下面这个程序会看到什么 [java] view plaincopy public class test {       public static void main(String args[]) {           System.out.println(0.05 + 0.01);         
js中小数相加小数点后面多出很多
今天在页面上用到了js进行<em>小数</em>相加119.01+0.01,结果大家都知道应该是:119.02的,然而结果是119..0200000…. ,莫名其妙的,还以为是我写的程序有<em>问题</em>,后来查了下才知道这是javascript浮点<em>运算</em>的一个bug. 解决办法: 使用toFixed(2)函数把结果保留<em>小数</em>点后两位!Author:leedaning 本文地址:http://blog.csdn.net/lee
Java BigDecimal 解决两个double相加控制小数位数的东东
public class DoubleOperationUtil {       //默认除法<em>运算</em>精度          private   static   final   int   DEF_DIV_SCALE   =   10;          //这个类不能实例化          private   DoubleOperationUtil(){          }
大神看过来,,,C# 如何比较两个数,数值小数点后有很多小数。至少10位。。如1.2345788943324
用等号无法比较。。。。有谁知道吗。。在线等。。急 先谢过各位
关于float和double后面小数点数的问题
class Textrnrn public static void main(String[] args)rn rn rn float f = 0.15f;rn <em>double</em> d = f;rn System.out.println("d="+d);//输出结果:0.15000000596046448 同一个数弄俩不同类型!!类型提升,位数有4个字节变8个字节,有<em>小数</em>点后的7为升到15位rn <em>double</em> d1 = 0.15;rn float f1 = (float)d1;rn System.out.println("f1="+f1);//输出结果:0.15 同一个数弄俩不同类型!强制转换,有8个字节强制变4个字节,丢弃后4个字节~所以值是这个~有<em>小数</em>点后的15为变7位,后面都是0就舍弃啦rn rn <em>double</em> d2 = 1.15 + 1.15f;rn System.out.println("d2="+d2);//输出结果:2.299999976158142 类型不同,<em>小数</em>点后面的位数相同 <em>小数</em>点后面是两位相同rn rn <em>double</em> d3 = 3.5 + 3.5f;rn System.out.println("d3="+d3);//输出结果:7.0 类型不同,<em>小数</em>点后面的位数相同 <em>小数</em>点后面是一位rnrn <em>double</em> d4 = 1.15 + 1.25f;rn System.out.println("d4="+d4);//输出结果: 类型不同,<em>小数</em>点的位数是不同 结果:相加2.4 rn rn float f2 = 1.25f +1.15f;rn System.out.println("f2="+f2);//输出结果:类型相同 <em>小数</em>点后数字不同 结果是2.4rn rn rn rn rn rnrn//有此结果的有一个新<em>问题</em>! 也就是 d2 d3 d4 的值得<em>问题</em>~~没搞清楚 为什么<em>小数</em>点位后面的数相同且<em>小数</em>点后面数超过两位以上,相加就有会出现精度<em>问题</em>呢??刚搞懂一个<em>问题</em> 新<em>问题</em>有出现啦~~大家想想为啥呀???是不是我咱牛角尖啦??<em>问题</em>出在那里呢??~是不是我钻牛角尖啦??<em>问题</em>出在那里呢??如何避免这样的<em>问题</em>发生?主要想知道出现这个结果的原因是什么?我刚接触JAVA 不对的地方大家请多批评指正呀~谢谢大家~
? - 多出很多按键事件
在WindowManagerService$InputDispatcherThread.process()里加了一条log,一共打出来98次,但我的确只按了40次,应该只有80次键盘事件,是为什么?
关于double/float运算精度问题
假设我用0.0056*1000,结果是5.60000000003。在大多数情况下,使用<em>double</em>和float计算的结果是准确的,但是在一些精度要求很高的系统中,这种<em>问题</em>是非常严重的。在《Effective Java》中提到一个原则,那就是float和<em>double</em>只能用来作科学计算或者是工程计算,但在商业计算中我们要用java.math.BigDecimal,通过使用BigDecimal类我们
关于double运算问题,请教大侠来看
<em>关于</em><em>double</em>预算以后,转成string 显示在lable上面,我转来转去,得到的数字变成了一个整数了...苦闷,大侠们给段代码看看哦!~
关于double类型数字相加位数发生变化的问题
 由于计算机内部存贮本身的缺陷,导致<em>double</em>类型的数字相加,得到的结果有<em>很多</em>位,比如 774.23 750.0 2638.66 4162.889999999999 看到这个是不是很晕 当然也有解决方案 new BigDecimal(Double.toString(a)).add( new Big
两个double数相减错误(数据太小,会出现科学计数E)
两个<em>double</em>数相减错误:实际上是转化错误import java.io.File;import java.text.SimpleDateFormat;import java.util.Date; public class DatMinus { Workbook b; String [] sss=new String[]{   &quot;20120802 18:30:59&quot;, &quot;20120802 18:...
C# 中double数据类型,相加减丢失精度问题?
<em>double</em> a = 12.372; <em>double</em> b = 13.378; <em>double</em> c = b - a; MessageBox.Show(c.ToString()); 这里的显示结果是:1.00
关于Double数值相加的问题
代码如下: //计算总金额 it = null; Double countfree=0.0; it = list2.iterator(); while (it.hasNext()) { Object
C# int 型减double 的出了更多的小数
-
关于integer和double混合运算问题
新手学delphi,遇到<em>问题</em>了,大大们帮帮忙吧~!!rnvarrna,b,c:integer;rnd:Double;rnrnBeginrna:=b-c*d;rnEnd;rnrn编译时出错,请教高手们如何解决呢,如果用Round去四舍五入的话会降低精度,有没有更好的方法啊,谢谢大家了,不知道半夜了坛子里还有人吗,如果可以解决此<em>问题</em>的高手白天看到,麻烦也帮帮忙吧,谢谢啦~~!!
关于double运算不准确的问题
public class Change{ public static void main(String args[]){ System.out.println(2.00 - 1.10); } } 你可能会很天真地期望该程序能够打印出0.90,但是它如何才能知道你想要打 印<em>小数</em>点后两位<em>小数</em>呢? 如果你对在Double.toString 文档中所设定的将<em>double</em> 类型的...
有关Double小数保留小数问题
有关Double<em>小数</em>保留<em>小数</em><em>问题</em>在有些计费系统中,<em>很多</em>时候涉及到<em>小数</em>保留<em>问题</em>,经典的<em>问题</em>包括,进一法,四舍五入法进行舍取,这里包含java层和js层处理方案。一、Java处理<em>小数</em><em>问题</em>a、四舍五入/** * 将指定数四舍五入到指定<em>小数</em>位数 * @param data 原始数据 * @param digits 需要保留的<em>小数</em>据位数 * @return 四舍五入
java关于数学运算小数运算的误差问题
float和<em>double</em>在计算的时候有一下小误差-----------------------------------------解决方案1:就是把<em>小数</em>变成int或者是long,计算完毕后可以还原float或者<em>double</em>类型(速度快,不消耗内存)-----------------------------------------解决方案2:java.math.BigDecimal; 使用这个类来运...
关于乘法运算结果的小数位数问题
sql server数据库里一个字段数据类型为decimal,<em>小数</em>位数1,存储值为0.8,检索出来的结果与另一int类型的字段(值为7)在服务器端js中相乘,结果是5.6000000000000005,为什么呢?rn
double 字段中有些数字小数点后有很多9,但是在计算的时候没有导致小数点后很多位的因素
<em>double</em> 字段中有些数字<em>小数</em>点后有<em>很多</em>9,但是在计算的时候没有导致<em>小数</em>点后<em>很多</em>位的因素 比如有些数值是 :7.66999999999999 但是计算的过程中都是 0.3+0.5 这类,不会得到<em>小数</em>
double类型保留两位小数4种方法
public class DoubleFormat { <em>double</em> f = 111231.4585; public void m1() { BigDecimal bg = new BigDecimal(f); <em>double</em> f1 = bg.setScale(2, BigDecimal.ROUND_HALF_...
请不要用double计算去判断double值是不是两位小数
public static void main(String[] args) { /**判断num是两位<em>小数</em>*/ Double num = 4.23; Double numMultip = num * 100; int numIntValue = numMultip.intValue(); if (numMult...
Double值保留两位小数的四种方法
public class DoubleTest { //保留两位<em>小数</em>第三位如果大于4会进一位(四舍五入) <em>double</em> f = 6.23556; /** *使用精确<em>小数</em>BigDecimal */ public void fun1() { BigDecimal bg = new BigDecimal(f); /...
Java 学习笔记---Java double类型相加问题
多个<em>double</em>类型的数直接相加的时候,可能存在精度误差.( 由于计算机算法以及硬件环境决定只能识别 0 1。计算机默认的计算结果在都在一个指定精度范围之内,想往深的了解,可以学习数值分析等) 在金融方面是绝对不允许的,好在java开发者有这个先见之明。 java.math.*里面提供了BigDecimal类(提供高精度计算的方法) 这个时候就要采用BigDecimal函数进行<em>运算</em> 第一步、...
android保留double小数后两位的方法
android中使用TextView或者EditText是保留<em>double</em><em>小数</em>后两位的方法: // import java.text.DecimalFormat; // 使用格式化,四舍五入仅保留有效位 // DecimalFormat df = new DecimalFormat("#.##"); // 使用格式化,四舍五入,不足位补零 DecimalFormat df = new Decimal
如何精确double小数后两位
我现在有几个算钱的程序,算好后要插入到SQLSERVER数据库rn现在我想算出来后,把他精确到分,就是后两位,请问用什么函数?
JS小数运算出现多位小数问题
写在前面的话: 今天帮同事解决了一个<em>问题</em>,就是<em>小数</em>相乘出现<em>很多</em>位<em>小数</em>的<em>问题</em>;这个<em>问题</em>自己以前也遇到过,现在特意来总结一下; Number类型: Number类型是ECMAScript中最常用和最令人关注的类型了;这种类型使用IEEE754格式来表示整数和浮点数值(浮点数值在某些语言中也被成为双精度数值),为支持各种数据类型,ECMA-262定义了不同的数值面量格式。 十进制: var
java中double运算问题
java中的浮点数类型float和<em>double</em>进行<em>运算</em>时,并不能保证全部正确。比如:System.out.println(9.7*100);预想结果是970,实际确是:969.9999999999999解决方法用BigDecimal。...
保留double两位小数
<em>double</em> game_size = 100.3232323; DecimalFormat df = new DecimalFormat("#.00"); <em>double</em> new_game_size = Double.valueOf(df.format(game_size));//100.32;
JAVA double 类型相加
<em>问题</em>的提出:   编译运行下面这个程序会看到什么?   public   class   Test{             public   static   void   main(String   args[]){                     System.out.println(0.05+0.01);                     System.out.pr
C#特殊的两个double类型变量相加问题
-
java 两个double类型的数相加 结果不正确
<em>double</em> aDouble=1420133.89,bDouble=12282.47; <em>double</em> sum=aDouble+bDouble; System.out.println(sum); 本来结
C++一个关于double相加出错的问题!!大神速来!
//----------这是一个求均方差的<em>问题</em>!---------------- 数据定义是这样的 int a; int n,i,j,m,sum1=0; <em>double</em> ave,s,sum2=0; //
解决java中两个double类型的值相加
每周六都急急忙忙赶过来加班,今天早上一同事问我两个<em>double</em>类型相加会出现精度<em>问题</em>,找了很久没找到原因,后来在网上一看需要额外处理一下,提供几个通用的方法。 [code=&quot;java&quot;] /** * 提供精确的加法<em>运算</em> * @param v1 被加数 * @param v2 加数 * @return 两个参数的和 */ public static <em>double</em>...
double减法。。小数部分
[code=C/C++]rn#includernchar str1[][3]="零","壹","贰","叁","肆","伍","陆","柒","捌","玖";rnchar str2[][3]="亿","仟","佰","拾","万","仟","佰","拾","元","角","分";rnvoid main()rnrn <em>double</em> r,y;rn char str3[20];rn int i,n,j,m,x,k,pd=0;rn printf("请输入金额:");rn scanf("%lf",&r);rn y=r-(r/1); rn x=r/1; rn for(i=0;i0)rn rn pd=1;n=k;rn rn rn for(j=n;j,str1[str3[j]],str2[j-3]);rn putchar(10);rn[/code]rnrn<em>小数</em>部分有<em>问题</em>,还有DOUBLE 近似的<em>问题</em>。谢谢了。
textbox返回小数(double)
TextBox 中输入<em>小数</em>如0.5,如何返回也是0.5, 现在用textbox.text返回的是1
String ->double小数、百分数
/** * @author yhcookie * @date 2018/12/7 12:46 */ public class TestDouble { public static void main(String[] args) { String str1 = &quot;66&quot;; String str2 = &quot;25&quot;; <em>double</em> v1 =...
js 小数运算浮点问题
if (type === 'subtract') { value = (value * 3 - step * 3) /3 // } else if (type === 'add') { value =(value * 3 + step * 3) /3 } value=value.toFixed(2);//进行这两步操作即可 value=parseFloat(value); 完美解决出现<em>小数</em>...
Java中小数运算问题
public class Testrn public static void main(String[] args) rn //0 8 92 51.599999999999994rn System.out.print(92*0.3);rn rnrnrn。。。。。。。。。。。。。。。。。。。。。rnrnCompiling Test.java.......rn-----------OUTPUT-----------rn27.599999999999998[Finished in 3.3s]rnrn为什吗会出现这样的<em>运算</em>结果,<em>小数</em>位数为什吗这么多???
关于 double型和int型相加的问题
int a=12; <em>double</em> b=12.12; 用a+b得出来的是24.11999999.....7 怎么才能让得数是24.12呢?
double类型相加(減、乘、除)结果会有些误差
前提介绍       今天在调试代码的时候发现了一个<em>double</em>类型数据相减的有趣<em>问题</em>,148163.1 - 82692.09大家猜猜结果等于多少,经过调试最终为5471.010000000009。 是不是很奇怪,下面将说明这其中的奥妙! 原因说明      <em>double</em>属于floating binary point types,也就是说都<em>double</em>型的数值在相加减的时候
java.math.BigDecimal的用法?
这个<em>问题</em>好像以前有人问过了以下的文章你自己看下标题     在Java中实现浮点数的精确计算    AYellow(原作) 修改    关键字     Java 浮点数 精确计算   <em>问题</em>的提出:如果我们编译运行下面这个程序会看到什么?public class Test{    public static void main(String args[]){        System.out.pr
double 相加以下方法可解决
<em>double</em> sum_debit=0; for(int m=0;m System.out.println(&quot;借方金额:&quot;+Double.parseDouble(debit_mon[m])); debit_mona.add(debit_mon[m]); sum_debit=sum_debit+Double.parseDouble(debit_mon[m]); System.out.pri...
java中的Double型加减乘除
[code=&quot;java&quot;] import java.math.BigDecimal; public class Arith { private static final int DEF_DIV_SCALE = 10; /** * * 两个Double数相加 * * * @param v1 * * @param v2 * * @return Double */ ...
vb小数运算的准确率问题
代码如下:rn Dim a, brn a = 21.9rn b = 44.8 rn Debug.Print (Val(a + b) - (a + b))rnrnrn当a、b的类型不同时,输出的结果完全不一样:rnSingle:4.2632564145606E-14rn<em>double</em>:1.4210854715202E-14rnVariant:1.4210854715202E-14rnCurrency:0rn不同数据类型精确度不同,这是一定的,但a、b的值只是精确到到<em>小数</em>点后1位,怎么会出现这种情况呢?单独输出Val(a + b)或者(a + b)的值,得到的都是66.7。另外,如果把44.8中<em>小数</em>点后的8改成(1~7)任何一个(如44.2),得到的结果都是正常的。rn即便是a=0.9,b=0.8得到的结果也是类似的......rn哪位大侠给分析一下?
C++里面的double程序运算中保留三位小数
在.net中可以使用 Math.Round来达到这个目的。rn我初始的想法是C++中无法做到,因为对于C++中的<em>double</em>是浮点数,哪怕你写的是1.9,他也是1.90000000000002 或者是1.899999999999,所以 各位兄弟,不知我的想法对不?rnrn另外,不是让输出的<em>double</em>保留三数,是在计算中间过程中处理一次,处理只有三位<em>小数</em>,谢谢各位。
Double算数运算
import java.math.BigDecimal; import java.math.MathContext; import java.math.RoundingMode; public class Arith { private static final int DEF_DIV_SCALE = 10; /** * 两个Double数相...
double运算的精度问题
[code=java]rnimport java.math.BigDecimal;rnrnpublic class TestDouble rn public static void main(String[] args) rn <em>double</em> d1 = div(20130708154752d,1000000000000d);rn <em>double</em> d2 = 16000d;rn System.out.println(d1);rn System.out.println(sum(d1,d2));rn rn rn public static <em>double</em> sum(<em>double</em> d1,<em>double</em> d2)rn BigDecimal bd1 = new BigDecimal(Double.toString(d1));rn BigDecimal bd2 = new BigDecimal(Double.toString(d2));rn return bd1.add(bd2).<em>double</em>Value();rn rn rn public static <em>double</em> div(<em>double</em> v1,<em>double</em> v2)rn return div(v1,v2,12);rn rn rn public static <em>double</em> div(<em>double</em> v1,<em>double</em> v2,int scale)rn if(scale);rn rn BigDecimal b1 = new BigDecimal(Double.toString(v1));rn BigDecimal b2 = new BigDecimal(Double.toString(v2));rn return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).<em>double</em>Value();rn rnrnrn[/code]rnrn运行结果是:rn20.130708154752rn16020.130708154751rnrn如何能避免精度损失的<em>问题</em>?
float or Double 运算
float xj;rnwhile rs.next()rnrnxj=xj+resultset.getfloat(1);rnrn结果<em>小数</em>位会变为8位?Double不能相加?
Python中关于加法及小数问题疑惑,求解答
版本:3.7+ win7(64)平台 <em>问题</em>描述如下: 2.1+5.011 = 7.111000000000001 为什么结果不是 7.111 2.15+5.012 =7.161999999999999
java float double类型做小数点加减运算不准确
比如: 21.1-17 不是等于4.1 解决办法================== http://blog.javaxxz.com/?p=763 一提到Java里面的商业计算,我们都知道不能用float和<em>double</em>,因为他们无法 进行精确计算。但是Java的设计者给编程人员提供了一个很有用的类BigDecimal,他可以完善float和<em>double</em>类无法进行
double类型相加精度问题解决
<em>double</em> Sum = Add(Convert.ToDouble(values.GetValue(85, i)), Convert.ToDouble(values.GetValue(86, i)));      #region 加         private <em>double</em> Add(<em>double</em> add1, <em>double</em> add2)         {             do
Double类型数据,如何只保留小数点后4位
<em>double</em> b = ( ( int )( a * 10000 + 0.5 ) ) / 10000.0;
求大神解决计算器出现多位小数问题
import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; import jav
double运算精度问题
题目: 下列表达式中,可以得到精确结果的是() A.<em>double</em> d1 = 3.0 - 2.6; B.<em>double</em> d4 = 2.5 * 1.5;  C.<em>double</em> d2 = 30/300;  D. <em>double</em> d3 = 1/2 + 0.5;  a因为<em>double</em>用二进制计算,因为0.6转换成二进制有精度损失,所以计算结果为0.3999999999999999 c
double 高级难度运算。。。
public static void main(String[] args) rn Double b=1.0;rn System.out.println(Double.valueOf(b*1*0.0001));rn rn rn 我这是万元单位<em>运算</em> 要的效果是0.0004rn 但是得出来的确是1.0E-4 这要怎么换啊·。。高手。。。
问个关于double Double的问题
[code=Java]rn/*rn String s = "1,2;3,4,5;6,7,8";rn 分成rn 对应的数组rn d[0, 0] = 1.0; d[0, 1] = 2.0;rn d[1, 0] = 3.0; d[1, 1] = 4.0; d[1, 2] = 5.0;rn d[2, 0] = 6.0; d[2, 1] = 7.0; d[2, 2] = 8.0;rn */rnrn String s = "1,2;3,4,5;6,7,8";rn String[] spt = s.split(";");rn Double[][] dou;rn dou = new Double[spt.length][];rn rn for( int i = 0; i < spt.length; i++ ) rn String[] str = spt[i].split(",");rn dou[i] = new Double[str.length]; rn for(int j = 0; j < str.length; j++ ) rn dou[i][j] = Double.valueOf(str[j]);rn rn rn for( int i = 0; i < spt.length; i++ ) rn for( int j = 0; j < dou[i].length; j++ ) rn System.out.print(dou[i][j] + " ");rn rn System.out.println();rn rnrn[/code]rnrn[code=Java]rn/*rn String s = "1,2;3,4,5;6,7,8";rn 分成rn 对应的数组rn d[0, 0] = 1.0; d[0, 1] = 2.0;rn d[1, 0] = 3.0; d[1, 1] = 4.0; d[1, 2] = 5.0;rn d[2, 0] = 6.0; d[2, 1] = 7.0; d[2, 2] = 8.0;rn */rnrn String s = "1,2;3,4,5;6,7,8";rn String[] spt = s.split(";");rn <em>double</em>[][] dou;rn dou = new <em>double</em>[spt.length][];rn rn for( int i = 0; i < spt.length; i++ ) rn String[] str = spt[i].split(",");rn dou[i] = new <em>double</em>[str.length]; rn for(int j = 0; j < str.length; j++ ) rn dou[i][j] = Double.parseDouble(str[j]);rn rn rn for( int i = 0; i < spt.length; i++ ) rn for( int j = 0; j < dou[i].length; j++ ) rn System.out.print(dou[i][j] + " ");rn rn System.out.println();rn rnrn[/code]rnrnrn2段代码功能是一样的,<em>问题</em>是<em>double</em> 是基础类, Double是封装的类rn为什么<em>double</em>也可以NEW,和Double NEW有什么不同吗?rnDouble new我知道先在STACK 生成一个引用 然后 数据是在堆里面生成,那么new <em>double</em>内存又rn是如何分配的
Double转化为String后,小数后几位丢失?
Dim arg As DoublernDim tmp As Stringrnrnarg = 3961812.2324400544rntmp = arg.ToStringrnrnConsole.WriteLine(tmp)rnrn输出:3961812.23244005,丢失最后两位rnrn另外,有什么方法可以arg<em>小数</em>点后的数提取出来(0.2324400544)?rn试了tmp1 = arg1 - Int(arg1),输出:0.232440054416656,为何?
shell小数运算
在shell中做<em>小数</em><em>运算</em>,可以借助bc 或者awk工具 一、使用bc做<em>小数</em><em>运算</em>,scale指定<em>小数</em>点位数 1、加法<em>运算</em>(scale参数无效) #echo &amp;amp;amp;amp;amp;quot;5.999 + 5.001&amp;amp;amp;amp;amp;quot;|bc 6.000 #echo &amp;amp;amp;amp;amp;quot;5.111+ 5.1114&amp;amp;amp;amp;amp;quot;|bc 10.2224 <em>运算</em>结果<em>小数</em>点位数以加数中最大的为准 2
python:float数乘以100后小数点位数变多问题
<em>问题</em>:在将元换算成分的时候,会出现下面的<em>问题</em>,而不是我们理想的203&amp;gt;&amp;gt;&amp;gt; float(2.03*100)202.99999999999997解决:&amp;gt;&amp;gt;&amp;gt; round(float(2.03*100))203注意: round函数进行四舍五入,因此尤其需要注意<em>小数</em>位数及乘数,如下面的例子,此时将会出现不准确的结果,原因是乘以100以后后面的<em>小数</em>点数字3被舍弃,所以...
C# 怎么把double 存成两位精度小数
C#语言的<em>double</em>类型占用8字节,代码中的常数是<em>小数</em>形式,默认是<em>double</em>类型。float赋值给<em>double</em>类型,自动转为doule类型。<em>double</em>类型的<em>小数</em>位默认最少一位,如果<em>小数</em>位数后有多余的0自动把多余的0去掉。例如: <em>double</em> dTest = 1234;//此时dTest的值为1234.0;dTest = 1.00;//此时dTEst的值为1.0; 如果调用 dTest.T
float相加后莫名多了几位小数
有一个汇总的DataTable,相加的有int32列和float列,float列数据最多3位<em>小数</em>,但累加后,会出现如 578.490051之类的结果,初学C#,不知何解。。。 //汇总数据 priva
java中double累加出现怪事
-
js 处理小数运算
首先要说明的是,不能正确处理<em>小数</em>的<em>运算</em>并不是 JavaScript 语言本身的设计错误,其它高级编程语言,如C,Java等,也是不能正确处理<em>小数</em><em>运算</em>的。 //我们用计算器计算 21*0.9 = 18.9; //在控制台计算 21*0.9 = 18.900000000000002; /*我们都知道,用高级编程语言编写的程序需要经过解释、编译等操作转变成 CPU(Central ...
处理精确小数运算
处理精确<em>小数</em><em>运算</em> [code=&quot;java&quot;] package yfTest.shixi; import java.math.BigDecimal; import java.text.DecimalFormat; import org.junit.Test; public class BigDecimalTest { /** * @param args ...
论述:定点小数运算
论述:定点<em>小数</em>的<em>运算</em> 更新历史 20190324: 首次发布 目录论述:定点<em>小数</em>的<em>运算</em>十进制下非负定点<em>小数</em>的乘法十进制下非负定点<em>小数</em>的加法十进制下非负定点<em>小数</em>的除法二进制下定点<em>小数</em>的乘法二进制下定点<em>小数</em>的加法二进制下定点<em>小数</em>的除法等等,是不是漏了减法...总结 使用定点<em>小数</em>,可以将<em>小数</em>的存储和<em>运算</em>,转化为整数的存储和<em>运算</em>。由于定点<em>小数</em>通常在硬件计算中使用,故而,我们尤其关心的是二进制下的定...
JS小数运算不对
在JS计算的时候,偶然发现一个奇怪的现象,如图:百度发现: java和JavaScript中计算<em>小数</em><em>运算</em>时,都会先将十进制的<em>小数</em>换算到对应的二进制,一部分<em>小数</em>并不能完整的换算为二进制,这里就出现了第一次的误差。解决方案:js之间的整数<em>运算</em>都是正常的。所以先将数值乘以10的整数倍,变成整数<em>运算</em>,之后再将结果除以10的整数倍。如:
javascript 小数运算 12.2986+9.0966 = ?
遇到一个很奇怪的<em>问题</em>,如下rn[code=javascript]rnvar a = 12.2986+9.0966;rnalert(a);[/code]rn输出结果为:21.395200000000003rn求大虾解释一下,怎样才能让其正确输出结果!
Javascript计算浮点数乘积出现多位小数解决方案
Javascript在进行浮点数的乘积<em>运算</em>,会出现多位<em>小数</em>的情况。 这是由于在<em>运算</em>的时候先把浮点数转化成二进制后进行<em>运算</em>,但是有的<em>小数</em>在二进制编码后出现无限循环,因而导致计算出现了误差,在其它变成语言中也有类似的<em>问题</em>。 原因解释参考自百度知道: 例如:求1038.1-1000 1038.1=10000001110.00011001
解决两个float类型的数值相减,精确度不准确的问题
开发工作中对一些数据要求精确度,往往无法确保精度不丢失,就像做人一样,有时明知道有些事不文明,但还是有些人不在乎,越过道德底线,变得在平常人眼中显得突兀!
C语言中 Float的精度 比较 加减算法问题
首先,Float的存储方式我明白,这个不用讲了。 <em>问题</em>1:Float根据符号位,指数为,有效位转换成功后,存储在内存中的时候是直接存储的转换后的字符,还是将转换后的字符取补码存储? <em>问题</em>2:Float
java中long和double类型问题
文章目录long和<em>double</em>类型<em>问题</em>java long和<em>double</em>类型<em>问题</em>javascript 处理<em>double</em>类型json long和<em>double</em>类型<em>问题</em> java long和<em>double</em>类型<em>问题</em> <em>double</em>转long类型,会丢失<em>小数</em>点后面的位数,而且不会四舍五入。 public class TestDoubleAndLong { public static void main(Str...
double数据乘以100出现位数变多问题
很奇怪,我在做除法<em>运算</em>获取一个<em>double</em>数据后,再乘以100转换为百分数时竟然出现位数增多的现象 不知为何 ,但是转换为float后再乘就会解决这个<em>问题</em> 这里记录一下: BigDecimal b1 = new BigDecimal(Dou
javascript之小数运算
前几天做了几个<em>关于</em>管井的统计页面,项目要求,如果是月,按米计算,如果是季度或是年则按照公里计算,中间出现了如下错误。 如上图,希望得到的结果是1.146 然而这个 0.000.......1来自哪里呢?? 第一反应是<em>小数</em>计算bug,但是时间紧来不及细细研究于是先相加后除以1000 暂时解决了<em>问题</em>。 <em>问题</em>是得到了解决,但是为什么会出现这种bug呢? js 不能正确处理<em>小数</em><em>运算</em>,包括其
JS小数运算精度问题
我们可能在平时<em>运算</em>过程中碰到以下类似情况: 0.1 + 0.2 结果是 0.30000000000000004 0.0003 * 10 结果是 0.0029999999999999996 0.003 / 10 结果是 0.00030000000000000003原因在于:在计算机内部,使用二进制浮点数并不能准确地表示像 0.1, 0.2 或 0.3 这样的数字,所以当编码或解释代码时,像“0.
JS小数加减乘除运算
/** * 加法<em>运算</em>,避免数据相加<em>小数</em>点后产生多位数和计算精度损失。 * * @param num1加数1 | num2加数2 */ function numAdd(num1, num2) { var baseNum, baseNum1, baseNum2; try { baseNum1 = num1.toString().split(".")[1].le
小数取整和余数运算
int main(int argc, char *argv[]) { printf(“<em>小数</em>取整和余数<em>运算</em>\n”);//题目是[(a-b)^2*(a/b)+(a+b)^4]/1024 int a,b,m,n,r;//t为分子部分结果,r为最终结果 <em>double</em> p,t; printf(“请输入a和b,用空格隔开”); scanf(“%d %d”,&amp;...
定点小数运算
FPGA中的数都是用二进制表示的,下面介绍如何将<em>小数</em>转换成二进制数表示:假定二进制数有16位,最高位为符号位,有效位有15位,那么<em>小数</em>点之后可以有0-15位,我们把<em>小数</em>点后有n位称为Qn。以Q12为例,Q12正数的最大值为0111.111111111111,要计算其需要表示的<em>小数</em>时,计算过程如下:将二进制数0111111111111111转化成十进制数32767,用十进制32767÷2^12=7.9
硬件检测工具.zip下载
硬件检测工具.zip 硬件检测工具.zip 硬件检测工具.zip 硬件检测工具.zip 相关下载链接:[url=//download.csdn.net/download/zfc2201/3687859?utm_source=bbsseo]//download.csdn.net/download/zfc2201/3687859?utm_source=bbsseo[/url]
c++ primer 第四版 习题答案(完整版)下载
c++ primer 完整的c++ primer 第四版 习题答案 相关下载链接:[url=//download.csdn.net/download/quanbove/3930536?utm_source=bbsseo]//download.csdn.net/download/quanbove/3930536?utm_source=bbsseo[/url]
亮剑.NET:.NET深入体验与实战精要清晰版及源码下载
资源较大,存在网盘,下载中给出地址。 第1篇 技术基础总结  第1章 .net,你真的知道了吗   1.1 搞清自己是干什么的   1.2 .net的几个特性   1.3 万丈高楼平地起:面试者必会   1.4 .net的面向对象之门   1.5 .net开发几把小刀   1.6 visual studio.net 2008 实战      本章常见技术面试题   常见面试技巧之面试前的准备   本章小结  第2章 细节决定成败   2.1 equals()和运算符==的区别   2.2 const和readonly的区别   2.3 private、protect 相关下载链接:[url=//download.csdn.net/download/keith511/4855391?utm_source=bbsseo]//download.csdn.net/download/keith511/4855391?utm_source=bbsseo[/url]
我们是很有底线的