朙的學習筆記
生活、學習、工作
posts - 12, comments - 11, trackbacks - 0, articles - 0
BlogJava
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
浮點計算時保護精度的一個方法——BigDecimal
Posted on 2009-10-16 22:11
zengmingcd@163.com
閱讀(470)
評論(0)
編輯
收藏
所屬分類:
學習ing
今天,一朋友問了我一個問題:
數(shù)A和數(shù)B
要求A每高于(或低于)B 0.5,數(shù)C就相應增加或減少0.5。
這個算法該怎么樣寫?
很簡單的一個東西。但是要求精度不能丟失。
查了查,原來可以用BigDecimal來實現(xiàn)。
寫了個簡單的程序:
public
static
double
oprbigdecimal(
double
a,
double
b,
double
c)
{
//
轉(zhuǎn)換為bigdecimal
BigDecimal bigA
=
new
BigDecimal(Double.toString(a));
BigDecimal bigB
=
new
BigDecimal(Double.toString(b));
BigDecimal bigC
=
new
BigDecimal(Double.toString(c));
//
增加值,如果確定是加減相同值可以優(yōu)化的。
BigDecimal step
=
new
BigDecimal(
"
0.5
"
);
//
計算差值
BigDecimal dif
=
bigA.subtract(bigB);
//
如果差值在0.5的話。C+0.5
//
注意,這里比較時就不要用bigdecimal了。會有問題的
if
(dif.doubleValue()
==
0.5
)
{
bigC
=
bigC.add(step);
}
//
差值在-0.5的話。C-0.5
if
(dif.doubleValue()
==
-
0.5
)
{
bigC
=
bigC.subtract(step);
}
//
返回結(jié)果
return
bigC.doubleValue();
}
BigDecimal可以使用String類型的值來初始化對象。
在BigDecimal中會將浮點數(shù)轉(zhuǎn)換 整型+精度 的表示方法。
使用add(加)、subtract(減)、multiply(乘)、divide(除)時都會使用整型來計算。精度轉(zhuǎn)為大精度的。
(注意divide除法需要指定保留精度和四舍五入)
這樣就可以保護浮點數(shù)計算的精度了。
Ming
E-Mail:
zengmingcd@163.com
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
浮點計算時保護精度的一個方法——BigDecimal
啟動Eclipse時的一個異常
Java Web開發(fā)框架初學
HP品牌機安裝操作系統(tǒng)的一個重點.
JBoss5配置時的怪現(xiàn)象
Java配置的問題
JavaDOC文檔注釋規(guī)則
Powered by:
BlogJava
Copyright © zengmingcd@163.com
日歷
<
2009年10月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
給我留言
查看公開留言
查看私人留言
隨筆分類
(11)
JBoss Seam(4)
MyTranslation
學習ing(7)
生活雜記
隨筆檔案
(12)
2009年10月 (1)
2009年8月 (6)
2009年7月 (3)
2009年4月 (1)
2009年3月 (1)
搜索
最新評論
1.?re: Eclipse + JBoss Seam 配置過程。
評論內(nèi)容較長,點擊標題查看
--zengmingcd@163.com
2.?re: Eclipse + JBoss Seam 配置過程。
怎么沒有注明版本號呢
--風光好符合規(guī)范
3.?re: Eclipse + JBoss Seam 配置過程。
請問樓主 :這些些沒有對版本的要求嗎
--風光好符合規(guī)范
4.?re: Eclipse + JBoss Seam 配置過程。
這個配置過程中有幾點錯誤。在后面的文章《更正<Eclipse + Seam 配置過程>一文中的幾個錯誤》中說明修改了。
--zengmingcd@163.com
5.?re: JBoss5配置時的怪現(xiàn)象
評論內(nèi)容較長,點擊標題查看
--zengmingcd@163.com
閱讀排行榜
1.?Eclipse + JBoss Seam 配置過程。(2297)
2.?JBoss5配置時的怪現(xiàn)象(901)
3.?更正《Eclipse + Seam 配置過程》一文中的幾個錯誤。(862)
4.?HP品牌機安裝操作系統(tǒng)的一個重點.(807)
5.?JavaDOC文檔注釋規(guī)則(611)
評論排行榜
1.?Eclipse + JBoss Seam 配置過程。(4)
2.?JBoss5配置時的怪現(xiàn)象(3)
3.?JavaDOC文檔注釋規(guī)則(2)
4.?更正《Eclipse + Seam 配置過程》一文中的幾個錯誤。(2)
5.?新丁報道(0)
主站蜘蛛池模板:
亚洲av无码成人黄网站在线观看
|
在线精品一卡乱码免费
|
免费人成在线观看视频播放
|
亚洲国产区男人本色
|
女人被免费视频网站
|
亚洲日韩精品无码专区
|
毛片a级毛片免费观看免下载
|
亚洲一卡2卡三卡4卡无卡下载
|
毛片免费观看的视频
|
精品久久久久久久久亚洲偷窥女厕
|
情侣视频精品免费的国产
|
色屁屁在线观看视频免费
|
在线精品亚洲一区二区三区
|
免费观看成人久久网免费观看
|
久久精品国产精品亚洲毛片
|
亚洲精品动漫免费二区
|
亚洲av日韩综合一区久热
|
亚洲AV中文无码乱人伦
|
a毛片免费播放全部完整
|
亚洲精品在线视频观看
|
成全高清视频免费观看
|
一级视频在线免费观看
|
亚洲大尺度无码专区尤物
|
亚色九九九全国免费视频
|
亚洲Av永久无码精品黑人
|
国产亚洲精品a在线观看
|
9420免费高清在线视频
|
亚洲经典千人经典日产
|
亚洲日韩涩涩成人午夜私人影院
|
国产日韩一区二区三免费高清
|
亚洲免费人成视频观看
|
免费亚洲视频在线观看
|
3344在线看片免费
|
亚洲精品国产摄像头
|
亚洲精品美女久久久久99
|
成人免费观看一区二区
|
成人免费视频一区二区
|
亚洲图片校园春色
|
亚洲福利在线播放
|
成人免费午夜无码视频
|
亚洲香蕉在线观看
|