這篇文章主要為大家展示了go浮點數(shù)轉字符串如何保留小數(shù)點后N位,內(nèi)容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。
創(chuàng)新互聯(lián)建站主要從事網(wǎng)站設計制作、成都網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務福鼎,10年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575最近在項目中碰到很多次float轉string,同時要求保留小數(shù)點后幾位,并且去掉小數(shù)點后0的場景
雖然問題很簡單,但是隔了挺久沒處理這種場景就有些生疏了,自己也搜了一下,很多回答都不太滿意。這里貼一下自己的做法,如果有更好的解決辦法的話,還請多多指教
// 主要邏輯就是先乘,trunc之后再除回去,就達到了保留N位小數(shù)的效果 func FormatFloat(num float64, decimal int) string { // 默認乘1 d := float64(1) if decimal > 0 { // 10的N次方 d = math.Pow10(decimal) } // math.trunc作用就是返回浮點數(shù)的整數(shù)部分 // 再除回去,小數(shù)點后無效的0也就不存在了 return strconv.FormatFloat(math.Trunc(num*d)/d, 'f', -1, 64) }
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。