社区
VB基础类
帖子详情
Double型相减的问题
lywei123
2005-03-03 09:05:09
Private Sub Command2_Click()
Dim a As Double
Dim LdNum1 As Double
Dim LdNum2 As Double
LdNum1 = 11111111.1
LdNum2 = 11111111
a = LdNum1 - LdNum2
End Sub
请问怎么才能让a = 0.1 呢?如果a可能有4位以上的小数时呢?
...全文
180
7
打赏
收藏
Double型相减的问题
Private Sub Command2_Click() Dim a As Double Dim LdNum1 As Double Dim LdNum2 As Double LdNum1 = 11111111.1 LdNum2 = 11111111 a = LdNum1 - LdNum2 End Sub 请问怎么才能让a = 0.1 呢?如果a可能有4位以上的小数时呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
viena
2005-03-04
打赏
举报
回复
用Currency最多只能有4位小数,假设有6位小数的话,可以把这个数看作是实际值的100倍
viena
2005-03-04
打赏
举报
回复
要使运算精确,最好用定点类型
可以用Currency,64位定点数,是精确的,但最多只能有4位小数
viena
2005-03-04
打赏
举报
回复
二存储位数是有限的,要舍去后面部分,必然会产生结果误差~
viena
2005-03-04
打赏
举报
回复
计算机的数是二进制存储的
十进制有限小数,转为二进制可能就是无限小数
viena
2005-03-04
打赏
举报
回复
浮点运算不精确,除非小数部分是2的N次方分之一的和
xmuyyd
2005-03-04
打赏
举报
回复
Private Sub Command2_Click()
Dim a As Double
Dim LdNum1 As Double
Dim LdNum2 As Double
LdNum1 = 11111111.1
LdNum2 = 11111111
a = format((LdNum1 - LdNum2),"0.0")
End Sub
ZWB_ZYN
2005-03-03
打赏
举报
回复
round函数
Private Sub Command2_Click()
Dim a As Double
Dim LdNum1 As Double
Dim LdNum2 As Double
LdNum1 = 11111111.1
LdNum2 = 11111111
a = round((LdNum1 - LdNum2),1)
End Sub
java .定义一个复数类 complex ,它的内部具有两个实例变量:realPart和imagPart,分别代表复数的实部和虚
这是1.定义一个复数类 complex ,它的内部具有两个实例变量:realPart和imagPart,分别代表复数的实部和虚 ...复数减运算的原则是:复数的实部和虚部分别
相减
。 (3)输出运算结果,判断是否正确。
解决
double
类
型
相减
有误差的
问题
今天在写脚本时发现
double
类
型
的
相减
跟实际结果有误差,如 :19.9-9.9=9.9999999999999,而不是10,百度后发现
double
相减
会转换成二进制,因
double
有效位数为 16位这就会出现存储小数位数不够的情况,这种情况下就...
java
double
相减
_完美解决java
double
数相加和
相减
的方案
我就废话不多说了,大家还是直接看代码吧~/***
double
的计算不精确,会有类似0.0000000000000002的误差,正确的方法是使用BigDecimal或者用整
型
* 整
型
地方法适合于货币精度已知的情况,比如12.11+1.10转成1211+110...
两个
double
相减
_
Double
类
型
加减乘除运算
public class Math
Double
Util {private static final int DEF_.../*** 格式化,
double
保留两位小数* @param d2* @return*/public static String format(
Double
d2) {try {java.text.DecimalFormat
double
Format = ...
java
double
数相加和
相减
的
问题
解决
java
double
数相加和
相减
的
问题
解决 /** 8 *
double
的计算不精确,会有类似0.0000000000000002的误差,正确的方法是使用BigDecimal或者用整
型
9 * 整
型
地方法适合于货币精度已知的情况,比如12.11+1.10转成1211+...
VB基础类
7,759
社区成员
197,606
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章