朙的學習筆記
生活、學習、工作
posts - 12, comments - 11, trackbacks - 0, articles - 0
BlogJava
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
浮點計算時保護精度的一個方法——BigDecimal
Posted on 2009-10-16 22:11
zengmingcd@163.com
閱讀(469)
評論(0)
編輯
收藏
所屬分類:
學習ing
今天,一朋友問了我一個問題:
數A和數B
要求A每高于(或低于)B 0.5,數C就相應增加或減少0.5。
這個算法該怎么樣寫?
很簡單的一個東西。但是要求精度不能丟失。
查了查,原來可以用BigDecimal來實現。
寫了個簡單的程序:
public
static
double
oprbigdecimal(
double
a,
double
b,
double
c)
{
//
轉換為bigdecimal
BigDecimal bigA
=
new
BigDecimal(Double.toString(a));
BigDecimal bigB
=
new
BigDecimal(Double.toString(b));
BigDecimal bigC
=
new
BigDecimal(Double.toString(c));
//
增加值,如果確定是加減相同值可以優化的。
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);
}
//
返回結果
return
bigC.doubleValue();
}
BigDecimal可以使用String類型的值來初始化對象。
在BigDecimal中會將浮點數轉換 整型+精度 的表示方法。
使用add(加)、subtract(減)、multiply(乘)、divide(除)時都會使用整型來計算。精度轉為大精度的。
(注意divide除法需要指定保留精度和四舍五入)
這樣就可以保護浮點數計算的精度了。
Ming
E-Mail:
zengmingcd@163.com
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
浮點計算時保護精度的一個方法——BigDecimal
啟動Eclipse時的一個異常
Java Web開發框架初學
HP品牌機安裝操作系統的一個重點.
JBoss5配置時的怪現象
Java配置的問題
JavaDOC文檔注釋規則
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 配置過程。
評論內容較長,點擊標題查看
--zengmingcd@163.com
2.?re: Eclipse + JBoss Seam 配置過程。
怎么沒有注明版本號呢
--風光好符合規范
3.?re: Eclipse + JBoss Seam 配置過程。
請問樓主 :這些些沒有對版本的要求嗎
--風光好符合規范
4.?re: Eclipse + JBoss Seam 配置過程。
這個配置過程中有幾點錯誤。在后面的文章《更正<Eclipse + Seam 配置過程>一文中的幾個錯誤》中說明修改了。
--zengmingcd@163.com
5.?re: JBoss5配置時的怪現象
評論內容較長,點擊標題查看
--zengmingcd@163.com
閱讀排行榜
1.?Eclipse + JBoss Seam 配置過程。(2296)
2.?JBoss5配置時的怪現象(900)
3.?更正《Eclipse + Seam 配置過程》一文中的幾個錯誤。(862)
4.?HP品牌機安裝操作系統的一個重點.(806)
5.?JavaDOC文檔注釋規則(611)
評論排行榜
1.?Eclipse + JBoss Seam 配置過程。(4)
2.?JBoss5配置時的怪現象(3)
3.?JavaDOC文檔注釋規則(2)
4.?更正《Eclipse + Seam 配置過程》一文中的幾個錯誤。(2)
5.?新丁報道(0)
主站蜘蛛池模板:
国产精品亚洲综合
|
成年网站免费入口在线观看
|
精品国产免费一区二区三区
|
国产一级淫片免费播放电影
|
久久精品国产免费观看
|
久久亚洲AV无码精品色午夜麻
|
丝袜捆绑调教视频免费区
|
亚洲最大AV网站在线观看
|
亚洲一级片在线播放
|
69精品免费视频
|
亚洲免费黄色网址
|
最近最好的中文字幕2019免费
|
亚洲欧洲精品成人久久曰
|
四虎影视永久免费观看
|
春意影院午夜爽爽爽免费
|
亚洲一级特黄大片在线观看
|
国产一级婬片A视频免费观看
|
亚洲AV日韩AV永久无码久久
|
99蜜桃在线观看免费视频网站
|
亚洲国产综合第一精品小说
|
最近的中文字幕大全免费版
|
免费一级毛片在线播放放视频
|
久久亚洲中文字幕精品一区四
|
热re99久久6国产精品免费
|
亚洲综合无码一区二区
|
免费A级毛片无码免费视
|
WWW亚洲色大成网络.COM
|
久久久青草青青亚洲国产免观
|
四虎成人精品永久免费AV
|
亚洲色偷偷色噜噜狠狠99网
|
亚洲av无码天堂一区二区三区
|
国产成人一区二区三区视频免费
|
亚洲日本久久一区二区va
|
又粗又硬又黄又爽的免费视频
|
国产成人无码区免费内射一片色欲
|
亚洲美女视频网址
|
免费一级毛片在线观看
|
午夜理伦剧场免费
|
欧美亚洲精品一区二区
|
亚洲AV成人片色在线观看高潮
|
永久免费观看的毛片的网站
|