C++保留有效位與保留小數位
如果想要保留n位小數
根據C++官網上的解釋,該函式沒有指定的返回型別,並且該函式用於設定輸出操作上的小數精確位。
然後返回值中解釋:未指定返回值,這個函式僅用於資料流修改操作上。
說了這麼多,我想要表達的意思就是當我們需要將精確後的小數儲存(將a精確後儲存賦值給b)起來的話,使用setprecision函式就不行了。
沒關係,別急,我這裡有解決方法:
如果你在學習C/C++的過程中遇到了問題,可以來加入小編的企鵝圈問小編哦~小編很熱情的(●’◡’●)
1.使用stringstream類
在這裡我們使用第一種方式,可以看到第一種用法解釋是設定流的格式標誌(format flag)為引數 fmtfl 的形式
然而引數fmtflags fmtfl又是什麼呢?繼續跟進去可以看到
這裡就可以看到fixed的意思是將小數設定為定點表示法
然後後面的ss.precision(3)就是保留3位
放在一起的意思就是小數點後保留3位有效位。
至於ss.str(),可以看到官網解釋如下,得到字串流中儲存的內容,注意返回位std::string型別:
2.手動計算,結束floor函式
這個演算法的思想就是先將該數乘以1000,就得到了小數點後三位,然後+0.5是什麼意思呢?
大家想一想哈,a*1000=1123.456789對不對,我們一般保留有效位都是需要四捨五入的,
在a*1000之後+0.5不就自動實現了四捨五入了嗎?然後在使用地板函式進行取整,再除1000不就完美實現了嗎?
總結:第一種方法適用於一次性處理大批資料,比如說如果你想要將很多資料一次寫入txt中。
第二種方法比較適合即算即用,快速簡便。
相關文章
- Js保留兩位小數JS
- java保留兩位小數Java
- oracle保留兩位小數Oracle
- JavaScript保留兩位或者其他位數小數JavaScript
- javascript 保留小數位 (toFixed方法)JavaScript
- javascript保留小數點後兩位JavaScript
- Java保留兩位小數的方法Java
- Javascript 保留幾位小數的方法JavaScript
- JavaScript浮點數保留兩位小數JavaScript
- C#保留小數位數的方法C#
- sql server 中對小數保留兩位小數SQLServer
- javascript如何實現保留兩位小數JavaScript
- 影片直播app原始碼,EditText保留小數位數APP原始碼
- MySQL保留幾位小數的4種方法MySql
- java保留2位小數及BigDecimal使用JavaDecimal
- sql 保留兩位小數+四捨五入SQL
- android kotlin 小數保留格式化位數AndroidKotlin
- js取整並保留兩位小數的方法JS
- 前端保留兩位小數toFixed(2)會有坑前端
- jdk8之stream求和,保留兩位小數JDK
- 千分位分隔數字並自定義保留小數位數
- js如何實現數字保留小數點後兩位小數JS
- Python保留兩位小數五種常用的方法!Python
- Android&Java保留小數位數的幾種寫法AndroidJava
- Math類產生隨機數後保留一位小數隨機
- Python如何保留float型別小數點後3位Python型別
- js實現的保留兩位小數程式碼例項JS
- js實現如何保留float浮點數小數點後兩位JS
- mysql格式化小數保留小數點後兩位(小數點格式化)MySql
- 保留兩位小數:資料庫欄位型別NUMBER,Java欄位型別Double型別資料庫型別Java
- PHP 保留小數點後有效數字(四捨五入)PHP
- 【轉載】SAP的貨幣資料型別保留4位小數資料型別
- iOS小數點格式化:最多保留兩位小數,小數點後末尾的0不要iOS
- 手機直播原始碼,flutter 隨機數的生成和保留兩位小數原始碼Flutter隨機
- Java 兩個整數相除保留兩位小數,將小數轉化為百分數Java
- json轉化保留null欄位JSONNull
- input限制只能輸入整數或保留小數點後2位的浮點數
- js能夠四捨五入且能夠保留指定小數位數和千分位的程式碼JS