Android獲取資料時 浮點型整數位數值(超8位)過大導致科學計數法
今天在調介面時,有個實體變數A我定義float型別,當該變數的整數值超過8位的時候會出現科學計數法的情況
例如 19085161.59,顯示成1.454654864E的情況
本來可以用String型別接收該欄位,但由於需要該數值做運算,所以想不改變原有型別
一開始想過顯示時通過 String.format("%." + m + "f", f);方式處理,數值比較時用原有資料,但想想以後其他資料如果要顯示都要這樣操作,嫌麻煩就放棄了。
最終方案,最後想起java有個BigDecimal類,尋思著能不能通過他來解決,通過檢視原始碼,發現他是繼承Number抽象類
public class BigDecimal extends Number implements Comparable<BigDecimal>, Serializable {}
最後把實體變數A定義成
BigDecimal A;
最後測試發現可以解決這個問題.
其實這個BigDecimal類還是很適合作實體數字變數,因為Number類有很多抽象方法,可以通過呼叫這些方法獲取各種型別的值
public abstract class Number implements java.io.Serializable { public abstract int intValue(); public abstract long longValue(); public abstract float floatValue(); public abstract double doubleValue(); public byte byteValue() { return (byte)intValue(); } public short shortValue() { return (short)intValue(); } private static final long serialVersionUID = -8742448824652078965L; }
相關推薦
Android獲取資料時 浮點型整數位數值(超8位)過大導致科學計數法
今天在調介面時,有個實體變數A我定義float型別,當該變數的整數值超過8位的時候會出現科學計數法的情況 例如 19085161.59,顯示成1.454654864E的情況本來可以用String型別接收該欄位,但由於需要該數值做運算,所以想不改變原有型別一開始想過顯示時通過
浮點型加減乘除(解決浮點型運算精度丟失問題)
package dealNumber; import java.math.BigDecimal; /** * 進行BigDecimal物件的加減乘除,四捨五入等運算的工具類 * * @author Yuk */ public clas
android中listview的item點選切換實現效果(選擇器selector)
public class V2_Adapter_TarentoCreateActivity_OverSea_City extends BaseAdapter{private V2_TarentoCreateActivity_OverSea_Place v2_TarentoCreateActivity_Over
fso獲取資料夾下檔案個數和顯示檔名(無後綴)
感謝sayhito333提供給我這段程式碼,為表示感謝,不修改其宣傳性的函式名了,呵呵! <%path = "database/"sub sayhito333(path)dim fsodim objFolderdim objFilesdim objFiledi
python獲取目錄下所有的檔案並修改檔名(隨機8位字元竄名字)
class ChangeName(object): def getRandom(self): seed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" sa = [] for
excel/csv等表格匯出資料數字型別過長出現科學計數法的解決方案
和匯出excel/csv的方式或者語言沒有太大關係 Excel顯示數字時,如果數字大於12位就會自動轉化為科學計數法 如果數字大於15位,它不僅用於科學技術費表示,還會只保留高15位,其他位都變0。
Android 浮點型當小數點後為0時自動去掉
import java.text.DecimalFormat; import java.text.NumberFormat; public class asdf {public static void
正確生成浮點型的方法,解決sqlachemy Float浮點型的坑,生成float類型時,長度和精度均為0,導致查詢不到結果!
依然 tab 圖片 control 選擇 分享 ice mod ble 問題描述 在使用flask_sqlachemy時,給price字段選擇了Float類型,數據庫用的mysql,生成數據庫表後,發現 from sqlalchemy import Float
☆ C++ 浮點型資料使用 "cout" 輸出
最近在使用printf()輸出浮點數的時候,突然想到可不可以使用cout輸出呢? 於是果斷的去嘗試了一下: bang~ 後面的0都不見了? 你像printf()可以直接控制" .n%f " 來決定小數點後的位數,但是cout呢?? 當然有辦法解決這個問題: ******
新生入學需要儲存學生資料,現在定義整型變數存放年齡,學號,定義字元變數存放性別,定義浮點型變數存放學分數
順序結構及其流程 void main() /*main 函式,程式的入口*/ {
浮點型資料的使用
/* * 浮點型資料 */ public class one1{ public static void main(String[] args){ float x=33.3f; float y=1.234567F; double z=35.34d; double m=56;
正確生成浮點型的方法,解決sqlachemy Float浮點型的坑,生成float型別時,長度和精度均為0,導致查詢不到結果!
問題描述 在使用flask_sqlachemy時,給price欄位選擇了Float型別,資料庫用的mysql,生成資料庫表後,發現 from sqlalchemy import Float,Column price = Column(Float,default=0.00) &
整形數int、浮點型資料float,在記憶體中儲存的表示
引言: 突然想到一個底層問題。 計算機組成原理裡學的:定點整數 定點小數 浮點數; 程式設計裡的基本資料型別int float在記憶體中的儲存形式; 二者究竟的對應關係是? CSDN部落格裡有這樣一句話,“實數在記憶體中以規範化的浮點數存放”,請先理清“實數”是多大範圍再回味這句話! 我在書上看到
MFC中CString類字串與長整型、浮點型、字元陣列char資料之間的相互轉換
一、長整型資料與CString類字串相互轉換 1.將長整型資料轉換為CString字串類 CString str; long ld; str.Format(_T("%ld"),ld); 2.將CString字串類轉換為長整型資料 CString str; long ld; ld=
JAVA初級(一)認識八大基礎資料型別(2)-浮點型,字元型,布林型
我是導航 1,浮點型float,double 2,字元型char 3,String是什麼? 4,布林型boolean 一,浮點型:float,double 浮點型是什麼?通俗點說就是帶小數的數字。 float f = 0.3f; double b = 0.3; 什麼時
java中判斷兩個浮點型(float)資料是否相等
示例程式碼: public static void main(String[] args) { float a = 10.222222225f; float b = 10.222222229f; System.out.println("使用==判斷是否相等:" + (
☆ C++ 浮點型資料使用 "cout" 輸出
最近在使用printf()輸出浮點數的時候,突然想到可不可以使用cout輸出呢? 於是果斷的去嘗試了一下: bang~ 後面的0都不見了? 你像printf()可以直接控制" .n%f " 來決定小數點後的位數,但是cout呢?? 當然有辦法解決這個問題: **
PHP對於浮點型的資料需要用不同的方法去解決
Php: BCMathbc是Binary Calculator的縮寫。bc*函式的引數都是運算元加上一個可選的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale
python 字串和整數,浮點型互相轉換
轉載:http://www.cnblogs.com/chenfulin5/p/7813791.html 在程式設計當中,經常要用到字串的互相轉換, 現在記錄 python 裡面的字串和整數是怎麼轉換的。 int(str) 函式將 符合整數的規範的字串 轉換成 int 型。
python資料型別之浮點型
python提供了三種浮點值:內建的float與complex型別,以及標準庫的decimal.Decimal型別。 float型別存放雙精度的浮點數,具體取值範圍依賴於構建python的c編譯器,由於精度受限,進行相等性比較不可靠。 如果需要高精度,可使用