朙的學習筆記
生活、學習、工作
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无码片一区二区三区
|
亚洲中文字幕久在线
|
色婷婷亚洲一区二区三区
|
国产精品成人观看视频免费
|
亚洲人成网站在线播放影院在线
|
1区1区3区4区产品亚洲
|
三级网站在线免费观看
|
亚洲永久精品ww47
|
精品在线免费观看
|
亚洲视频在线观看一区
|
91短视频免费在线观看
|
久久狠狠爱亚洲综合影院
|
老司机在线免费视频
|
亚洲精品无码av中文字幕
|
国产精品无码素人福利免费
|
美女露100%胸无遮挡免费观看
|
亚洲国产精品人人做人人爱
|
www成人免费视频
|
亚洲国产三级在线观看
|
97av免费视频
|
亚洲午夜福利在线视频
|
免费黄网在线观看
|
久久精品免费大片国产大片
|
亚洲国产一区二区a毛片
|
人成午夜免费视频在线观看
|
亚洲精品天堂无码中文字幕
|
www.亚洲色图.com
|
日本在线免费播放
|
亚洲色一区二区三区四区
|
亚洲国产精品嫩草影院久久
|
久久午夜无码免费
|
亚洲精华液一二三产区
|
亚洲国产精品综合久久一线
|
无码免费一区二区三区免费播放
|
国产精品亚洲精品观看不卡
|
亚洲精品国产自在久久
|
51精品视频免费国产专区
|
国产精品亚洲专区无码不卡
|
亚洲国产精品无码专区影院
|
性色av免费观看
|
国产成人精品一区二区三区免费
|