日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

在Go中使用接口:實用性與脆弱性的平衡

來源: 責編: 時間:2024-02-04 09:02:12 283觀看
導讀在開發(fā)的初始階段,我們經(jīng)常會遇到“浮點數(shù)精度”和“貨幣值表示”的問題。那么,如何處理貨幣,如何存儲和傳遞它們。為什么是問題?Go語言中的標準浮點類型具有一定的精度(像其他任何語言一樣),你不能在貨幣操作中使用它們。這

在開發(fā)的初始階段,我們經(jīng)常會遇到“浮點數(shù)精度”和“貨幣值表示”的問題。j9G28資訊網(wǎng)——每日最新資訊28at.com

那么,如何處理貨幣,如何存儲和傳遞它們。j9G28資訊網(wǎng)——每日最新資訊28at.com

為什么是問題?

Go語言中的標準浮點類型具有一定的精度(像其他任何語言一樣),你不能在貨幣操作中使用它們。這里有一個最簡單的例子:j9G28資訊網(wǎng)——每日最新資訊28at.com

var v1, v2 = 0.1, 0.2fmt.Println(v1 + v2)// 輸出:0.30000000000000004

你可以計算你需要將一個值與另一個值相加多少次,才能在你的賬戶上獲得額外的錢!但反過來也是一樣 — 在這種情況下,你只是失去了你的錢。j9G28資訊網(wǎng)——每日最新資訊28at.com

這不僅在對你的錢進行數(shù)學運算時有問題,而且在不同系統(tǒng)或服務之間傳遞數(shù)據(jù)時也是有問題的。j9G28資訊網(wǎng)——每日最新資訊28at.com

下一個問題 — 傳遞你的錢

每次將你的錢從/到浮點數(shù)進行編組時,都會遇到與上述相同的問題,以及與編組器實現(xiàn)有關(guān)的其他問題 - json,xml,text等等...j9G28資訊網(wǎng)——每日最新資訊28at.com

另一個問題是四舍五入。如果你處理的是貨幣,你總會面臨四舍五入的問題。你應該如何四舍五入你的貨幣值?例如 0.345 元,一般我們還是會四舍五入到 0.35 元?j9G28資訊網(wǎng)——每日最新資訊28at.com

我們的選擇是什么?

有一些特殊的類型可用于貨幣的表示和計算。j9G28資訊網(wǎng)——每日最新資訊28at.com

Go標準庫有 big.Float 類型(來自 math/big 包,表示任意精度的浮點數(shù))。與 float32 和 float64 不同,它們具有固定的大小和精度,big.Float 允許你為數(shù)字和計算設置任意精度。j9G28資訊網(wǎng)——每日最新資訊28at.com

另一個不錯的選擇是 decimal 庫 (https://github.com/shopspring/decimal)。j9G28資訊網(wǎng)——每日最新資訊28at.com

關(guān)于四舍五入:j9G28資訊網(wǎng)——每日最新資訊28at.com

  • 1.234 => 1.23
  • 1.235 => 1.24
  • 1.236 => 1.24

例如,shopspring/decimal 提供了適當舍入值的方法。j9G28資訊網(wǎng)——每日最新資訊28at.com

考慮的另一個好選擇是使用貨幣單位。這樣,你就從浮點數(shù)問題轉(zhuǎn)移到整數(shù),并將一切都作為整數(shù)計算。在這里唯一使用四舍五入的地方:傳遞結(jié)果值。j9G28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在讓我們討論一下在傳遞貨幣時的選擇。j9G28資訊網(wǎng)——每日最新資訊28at.com

  • 使用貨幣單位 — 我們將所有內(nèi)容都傳遞為整數(shù),這里沒有浮點問題。只需控制值的限制,就可以了。
  • 將浮點數(shù)作為字符串傳遞。通常也是一個不錯的選擇 — 當你將浮點數(shù)作為字符串傳遞時,帶有所需精度(特定小數(shù)位數(shù))的字符串,當對方讀取此字符串值并將其轉(zhuǎn)換回浮點數(shù)時,你就是安全的。

簡單的例子

你可以在 Go Playground 上嘗試一下。j9G28資訊網(wǎng)——每日最新資訊28at.com

package mainimport (    "fmt"    "github.com/shopspring/decimal")func main() {    a := 0.1    b := 0.2    c := decimal.NewFromFloat(a)    d := decimal.NewFromFloat(b)    fmt.Println(a, b, c.String(), d.String())     fmt.Println(a + b)     fmt.Println(c.Add(d).String()) }

輸出為:j9G28資訊網(wǎng)——每日最新資訊28at.com

0.1 0.2 0.1 0.20.300000000000000040.3

結(jié)論

處理貨幣時 — 使用 math/big 或一些與貨幣相關(guān)的庫,比如 shopspring/decimal,或者只是使用貨幣單位,在這里不要使用浮點數(shù)。將貨幣作為字符串傳遞,或者在貨幣單位中傳遞,不要在這里使用浮點數(shù)。j9G28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-72433-0.html在Go中使用接口:實用性與脆弱性的平衡

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 容器下在 Triton Server 中使用 TensorRT-LLM 進行推理

下一篇: Effect詳解,你學會了嗎?

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产精品久久久久久久久久久久久| 欧美成人官网二区| 这里只有精品视频| 亚洲综合首页| 久久精品国亚洲| 你懂的视频欧美| 欧美无砖砖区免费| 国产亚洲欧洲一区高清在线观看| 在线观看一区二区精品视频| 99这里只有精品| 午夜精品久久一牛影视| 老牛嫩草一区二区三区日本 | 中文一区二区| 久久国产精品一区二区三区| 欧美gay视频| 国产精品久久久久高潮| 樱桃视频在线观看一区| 一本久道久久综合狠狠爱| 欧美影院午夜播放| 欧美激情bt| 国产噜噜噜噜噜久久久久久久久| 亚洲国产精品va在线看黑人| 国产精品99久久久久久久久| 久久久国产成人精品| 欧美日韩一区二区三区在线| 国内精品久久久久影院 日本资源| 亚洲精品美女久久7777777| 亚洲欧美怡红院| 欧美黄色成人网| 国产亚洲欧美一区二区三区| 99精品国产在热久久下载| 久久人91精品久久久久久不卡| 欧美色精品天天在线观看视频| 红桃视频成人| 亚洲在线视频免费观看| 欧美成年人网站| 国产欧美一区二区精品婷婷| 99re66热这里只有精品4| 久久久久久久一区二区| 国产精品久久久久一区二区三区 | 欧美激情中文字幕在线| 国内精品亚洲| 亚洲欧美亚洲| 欧美日韩亚洲综合在线| 伊人狠狠色j香婷婷综合| 亚洲欧美日韩第一区| 欧美日韩ab| 在线观看亚洲视频啊啊啊啊| 欧美在线视频播放| 国产精品成人免费视频| 亚洲日本成人网| 老色鬼久久亚洲一区二区| 国产日韩欧美三级| 亚洲一级片在线看| 欧美日韩精品在线| 最新69国产成人精品视频免费| 久久九九精品99国产精品| 国产精品视频男人的天堂| 一本久久a久久免费精品不卡| 久久综合网络一区二区| 国内激情久久| 欧美一区深夜视频| 国产精品免费网站| 亚洲色诱最新| 欧美色图麻豆| 一区二区欧美日韩视频| 欧美精品一区二区三区高清aⅴ| 极品裸体白嫩激情啪啪国产精品| 香蕉久久夜色| 国产精品香蕉在线观看| 亚洲一区二区视频在线| 欧美三级韩国三级日本三斤| 亚洲另类黄色| 欧美精品一区二区三区久久久竹菊 | 在线日韩中文字幕| 久久久亚洲人| 狠狠做深爱婷婷久久综合一区| 欧美一区三区三区高中清蜜桃| 国产精品女主播一区二区三区| 中文国产一区| 国产精品h在线观看| 亚洲天堂免费观看| 国产精品久久久久久久久久免费看 | 国产欧美另类| 欧美在线视频一区二区三区| 国产精品一二三| 亚洲综合视频一区| 国产日韩亚洲欧美精品| 久久国产精品久久精品国产| 国产一区再线| 久久一综合视频| 亚洲电影在线看| 欧美二区视频| 一区二区三区高清| 国产精品毛片a∨一区二区三区|国| 亚洲尤物在线视频观看| 国产农村妇女毛片精品久久麻豆 | 欧美精品一区二区视频| 99精品欧美一区| 国产精品福利影院| 欧美一区二区日韩一区二区| 国产主播一区二区三区| 老司机免费视频一区二区| 精品不卡在线| 欧美激情bt| 中日韩在线视频| 国产精品区一区二区三区| 久久不射中文字幕| 在线看欧美视频| 欧美激情一区二区三区在线视频观看| 一本一本久久| 国产欧美精品一区aⅴ影院| 久久久久久一区二区| 亚洲欧洲一区二区在线播放| 欧美三级在线| 性做久久久久久久久| 在线观看日韩一区| 欧美日韩人人澡狠狠躁视频| 亚洲欧美日韩国产中文| 国模 一区 二区 三区| 欧美极品在线视频| 欧美一二三区精品| 亚洲黄页一区| 国产精品久久久久av| 久久久久五月天| 99一区二区| 国产一区免费视频| 欧美日韩久久精品| 久久久久久国产精品一区| 亚洲精品九九| 国产欧美日韩另类视频免费观看| 久久综合久久久| 亚洲综合视频在线| 亚洲国产精品成人综合| 国产精品久久久久久久浪潮网站| 久久嫩草精品久久久久| 夜夜嗨av一区二区三区网页| 国产自产v一区二区三区c| 欧美日韩国产va另类| 久久精品视频va| 亚洲视频图片小说| 尤妮丝一区二区裸体视频| 国产精品高清在线| 女仆av观看一区| 欧美一区二区三区视频在线| 亚洲精品看片| 国内精品久久久久影院薰衣草| 欧美视频一二三区| 免费精品视频| 欧美在线在线| 一区二区三区国产| 在线精品国精品国产尤物884a| 国产精品久久久久久久午夜片| 女人色偷偷aa久久天堂| 欧美亚洲在线观看| 在线一区二区三区四区| 亚洲第一区在线| 国产日本精品| 欧美日韩在线不卡一区| 麻豆国产精品777777在线| 欧美一级在线亚洲天堂| 9色精品在线| 亚洲国产高清高潮精品美女| 国产欧美一区二区精品性色| 欧美日韩精品久久| 免费一级欧美片在线播放| 欧美在线www| 亚洲中午字幕| 一区二区三区视频在线| 亚洲激情一区二区| 狠狠综合久久| 国产欧美三级| 国产精品成人国产乱一区| 欧美精品久久久久久| 美女主播精品视频一二三四| 久久丁香综合五月国产三级网站| 亚洲一区二区毛片| 一个色综合导航| 亚洲精品免费观看| 亚洲国产成人av在线| 黄页网站一区| 国产一区清纯| 国产在线精品一区二区中文| 国产精品一区二区男女羞羞无遮挡 | 蜜桃av一区二区三区| 久久精品欧洲| 久久精品av麻豆的观看方式| 午夜免费日韩视频| 亚洲一区制服诱惑| 亚洲午夜一二三区视频| av不卡在线观看| 日韩亚洲欧美精品| 亚洲伦理网站| 亚洲精品视频免费| 亚洲人被黑人高潮完整版| 亚洲高清自拍| 亚洲国产美女精品久久久久∴| 黄色在线成人| 一区二区在线视频观看| 伊人夜夜躁av伊人久久| 精品福利免费观看| 在线精品亚洲| 亚洲日本免费| 日韩天堂在线观看|