pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

將 float 轉換為 double 而不會丟失精度

Convert float to double without losing precision(將 float 轉換為 double 而不會丟失精度)
本文介紹了將 float 轉換為 double 而不會丟失精度的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有一個原始浮點數,我需要一個原始雙精度數.簡單地將浮點數轉換為 double 會給我帶來奇怪的額外精度.例如:

I have a primitive float and I need as a primitive double. Simply casting the float to double gives me weird extra precision. For example:

float temp = 14009.35F;
System.out.println(Float.toString(temp)); // Prints 14009.35
System.out.println(Double.toString((double)temp)); // Prints 14009.349609375

但是,如果我不進行強制轉換,而是將浮點數輸出為字符串,并將字符串解析為雙精度,我會得到我想要的:

However, if instead of casting, I output the float as a string, and parse the string as a double, I get what I want:

System.out.println(Double.toString(Double.parseDouble(Float.toString(temp))));
// Prints 14009.35

有沒有更好的方法而不是去字符串然后返回?

Is there a better way than to go to String and back?

推薦答案

并不是你實際上獲得了額外的精度 - 而是浮點數沒有準確地代表你的目標數字起初.double is 準確地代表了原來的浮點數;toString 正在顯示已經存在的額外"數據.

It's not that you're actually getting extra precision - it's that the float didn't accurately represent the number you were aiming for originally. The double is representing the original float accurately; toString is showing the "extra" data which was already present.

例如(這些數字不正確,我只是在編造)假設你有:

For example (and these numbers aren't right, I'm just making things up) suppose you had:

float f = 0.1F;
double d = f;

那么 f 的值可能正好是 0.100000234523.d 將具有完全相同的值,但是當您將其轉換為字符串時,它會相信"它的精確度更高,因此不會提前四舍五入,您會看到已經存在但對您隱藏的額外數字".

Then the value of f might be exactly 0.100000234523. d will have exactly the same value, but when you convert it to a string it will "trust" that it's accurate to a higher precision, so won't round off as early, and you'll see the "extra digits" which were already there, but hidden from you.

當您轉換為字符串并返回時,您最終會得到一個比原始浮點數更接近字符串值的雙精度值 - 但這只是 如果 你真的相信字符串值是您真正想要的.

When you convert to a string and back, you're ending up with a double value which is closer to the string value than the original float was - but that's only good if you really believe that the string value is what you really wanted.

您確定 float/double 是此處使用的合適類型,而不是 BigDecimal?如果您嘗試使用具有精確十進制值的數字(例如貨幣),那么 BigDecimal 是更合適的 IMO 類型.

Are you sure that float/double are the appropriate types to use here instead of BigDecimal? If you're trying to use numbers which have precise decimal values (e.g. money), then BigDecimal is a more appropriate type IMO.

這篇關于將 float 轉換為 double 而不會丟失精度的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How to wrap text around components in a JTextPane?(如何在 JTextPane 中的組件周圍環繞文本?)
MyBatis, how to get the auto generated key of an insert? [MySql](MyBatis,如何獲取插入的自動生成密鑰?[MySql])
Inserting to Oracle Nested Table in Java(在 Java 中插入 Oracle 嵌套表)
Java: How to insert CLOB into oracle database(Java:如何將 CLOB 插入 oracle 數據庫)
Why does Spring-data-jdbc not save my Car object?(為什么 Spring-data-jdbc 不保存我的 Car 對象?)
Use threading to process file chunk by chunk(使用線程逐塊處理文件)
主站蜘蛛池模板: 新疆十佳旅行社_新疆旅游报价_新疆自驾跟团游-新疆中西部国际旅行社 | 耐酸泵,耐酸泵厂家-淄博华舜耐腐蚀真空泵 | RS系列电阻器,RK_RJ启动调整电阻器,RQ_RZ电阻器-上海永上电器有限公司 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | OLChemim试剂-ABsciex耗材-广州市自力色谱科仪有限公司 | 冷镦机-多工位冷镦机-高速冷镦机厂家-温州金诺机械设备制造有限公司 | 北京网站建设-企业网站建设-建站公司-做网站-北京良言多米网络公司 | 德国UST优斯特氢气检漏仪-德国舒赐乙烷检测仪-北京泽钏 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | 济南网站建设_济南网站制作_济南网站设计_济南网站建设公司_富库网络旗下模易宝_模板建站 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | jrs高清nba(无插件)直播-jrs直播低调看直播-jrs直播nba-jrs直播 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 隔离变压器-伺服变压器--输入输出电抗器-深圳市德而沃电气有限公司 | 海峰资讯 - 专注装饰公司营销型网站建设和网络营销培训 | 专注氟塑料泵_衬氟泵_磁力泵_卧龙泵阀_化工泵专业品牌 - 梭川泵阀 | 深圳APP开发_手机软件APP定制外包_小程序开发公司-来科信 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 砖机托板价格|免烧砖托板|空心砖托板厂家_山东宏升砖机托板厂 | 光环国际-新三板公司_股票代码:838504 | 电脑刺绣_绣花厂家_绣花章仔_织唛厂家-[源欣刺绣]潮牌刺绣打版定制绣花加工厂家 | 硬齿面减速机[型号全],ZQ减速机-淄博久增机械 | 真空冷冻干燥机_国产冻干机_冷冻干燥机_北京四环冻干 | 真空吸污车_高压清洗车厂家-程力专用汽车股份有限公司官网 | 辽宁资质代办_辽宁建筑资质办理_辽宁建筑资质延期升级_辽宁中杭资质代办 | 食品无尘净化车间,食品罐装净化车间,净化车间配套风淋室-青岛旭恒洁净技术有限公司 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 【官网】博莱特空压机,永磁变频空压机,螺杆空压机-欧能优 | 能量回馈_制动单元_电梯节能_能耗制动_深圳市合兴加能科技有限公司 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 无痕胶_可移胶_无痕双面胶带_可移无痕胶厂家-东莞凯峰 | 气体检测仪-氢气检测仪-可燃气体传感器-恶臭电子鼻-深国安电子 | 恒温水槽与水浴锅-上海熙浩实业有限公司 | 许昌奥仕达自动化设备有限公司 | 冷水机,风冷冷水机,水冷冷水机,螺杆冷水机专业制造商-上海祝松机械有限公司 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 深圳市源和塑胶电子有限公司-首页| 金联宇电缆|广东金联宇电缆厂家_广东金联宇电缆实业有限公司 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | 北京中航时代-耐电压击穿试验仪厂家-电压击穿试验机 | 江苏齐宝进出口贸易有限公司 |