欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > golang 比較浮點數的大小方式

golang 比較浮點數的大小方式

熱門標簽:外呼系統用什么卡 電話機器人軟件免費 百度地圖標注后傳給手機 外呼系統顯本地手機號 壽光微信地圖標注 excel地圖標注分布數據 涿州代理外呼系統 阿克蘇地圖標注 評價高的400電話辦理

Golang浮點數比較和運算會出現誤差。

浮點數儲存至內存中時,2的-1、-2……-n次方不能精確的表示小數部分,所以再把這個數從地址中取出來進行計算就出現了偏差。

package main
import (
	"errors"
	"fmt"
	"github.com/shopspring/decimal"
)
func FloatCompare(f1, f2 interface{}) (n int, err error) {
	var f1Dec, f2Dec decimal.Decimal
	switch f1.(type) {
	case float64:
		f1Dec = decimal.NewFromFloat(f1.(float64))
		switch f2.(type) {
		case float64:
			f2Dec = decimal.NewFromFloat(f2.(float64))
		case string:
			f2Dec, err = decimal.NewFromString(f2.(string))
			if err != nil {
				return 2, err
			}
		default:
			return 2, errors.New("FloatCompare() expecting to receive float64 or string")
		}
	case string:
		f1Dec, err = decimal.NewFromString(f1.(string))
		if err != nil {
			return 2, err
		}
		switch f2.(type) {
		case float64:
			f2Dec = decimal.NewFromFloat(f2.(float64))
		case string:
			f2Dec, err = decimal.NewFromString(f2.(string))
			if err != nil {
				return 2, err
			}
		default:
			return 2, errors.New("FloatCompare() expecting to receive float64 or string")
		}
	default:
		return 2, errors.New("FloatCompare() expecting to receive float64 or string")
	}
	return f1Dec.Cmp(f2Dec), nil
}
func main() {
	a:=4.0
	b:="4"
	fmt.Println(FloatCompare(a,b))
}

補充:golang 判斷2個浮點型數字是否相同

判斷2個浮點型數字是否相同的方法(假定整數部分+小數點后3位相同,則視為相同)

首先將2個浮點型數字轉換為string數據

將float類型的數據轉換成string

func Decimal(value float32) string {
   value1 := fmt.Sprintf("%.6f", value)
   return value1
}

比較兩個由float型數據轉化成string的數據是否相同是否相同

func Compare(val1,val2 string) bool {
   indexf :=strings.Index(val1,".") + 4
   indexs :=strings.Index(val2,".") + 4
   if indexs != indexf {
      return false
   }else {
      if val1[0:indexf] == val2[0:indexs]{
         return true
      }else {
         return false
      }
   }
}

補充:golang 浮點數操作

數據庫中金額元存儲的數據結構使用的是decimal(15,2),golang中使用float64保存變量內容。通過轉換將 float64 -> int64

最簡單的方式:int64(float64 * 100),但是由于浮點數在計算機內的表示方式問題導致有一部分數據會出現問題,

例如:

var v = 67.6  
fmt.Println(int64(v *100)) 輸出結果為:6759
 

解決方法:

使用"github.com/shopspring/decimal"包,將對浮點數進行精確計算,例如:

f1 := decimal.NewFromFloat(v)
f2 := decimal.NewFromFloat(100)
fmt.Println(f1.Mul(f2).IntPart()) 輸出結果為6760

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • golang實現對docker容器心跳監控功能
  • 淺談golang 中time.After釋放的問題
  • golang 定時任務方面time.Sleep和time.Tick的優劣對比分析
  • golang日志包logger的用法詳解
  • golang elasticsearch Client的使用詳解
  • Golang的func參數及返回值操作
  • golang協程池模擬實現群發郵件功能
  • Golang: 內建容器的用法

標簽:欽州 蘭州 汕頭 雞西 重慶 吐魯番 梅河口 銅川

巨人網絡通訊聲明:本文標題《golang 比較浮點數的大小方式》,本文關鍵詞  golang,比較,浮,點數,的,大小,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang 比較浮點數的大小方式》相關的同類信息!
  • 本頁收集關于golang 比較浮點數的大小方式的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产成+人+日韩+欧美+亚洲| 一本久道中文字幕精品亚洲嫩| 欧美日韩国产不卡| 亚洲三级在线免费| 成人精品小蝌蚪| 免费中文字幕日韩| 国产欧美一区二区精品婷婷| 国产精品综合二区| jizzjizz日本少妇| 亚洲国产成人午夜在线一区| 国产乱人伦偷精品视频免下载| 一级在线观看视频| 久久久久88色偷偷免费| 国产在线一区二区综合免费视频| 亚洲性猛交xxxx乱大交| 2014亚洲片线观看视频免费| 韩国女主播成人在线观看| 免费视频91蜜桃| 国产三级精品在线| 国产福利一区在线观看| 综合五月激情网| 亚洲视频在线观看三级| 宇都宫紫苑在线播放| 欧美日本乱大交xxxxx| 亚洲成人综合视频| 中文字幕5566| 久久久噜噜噜久噜久久综合| 国产福利不卡视频| 色综合激情五月| 亚洲午夜在线视频| 中文字幕5566| 国产日韩精品视频一区| av在线播放成人| 欧美日韩国产影片| 青青草原综合久久大伊人精品优势| 国产黄片一区二区三区| 国产日本欧美一区二区| 99精品视频在线观看免费| 欧美无砖砖区免费| 奇米精品一区二区三区在线观看一| 亚洲区自拍偷拍| 中文字幕一区二区三区视频| 人妻激情偷乱视频一区二区三区| 91麻豆精品国产91久久久久久久久 | 色一情一乱一乱一91av| 亚洲一区二区高清| 90岁老太婆乱淫| 亚洲欧洲在线观看av| 涩视频在线观看| 久久久久国产精品麻豆ai换脸| 成人免费黄色在线| 在线不卡一区二区| 国模一区二区三区白浆| 欧洲精品在线观看| 美女免费视频一区二区| 人妻少妇精品一区二区三区| 午夜视频在线观看一区二区| 免费黄在线观看| 有码一区二区三区| 中文字幕第24页| 一区二区免费在线播放| 丁香激情五月少妇| 亚洲自拍欧美精品| 伊人影院综合网| 亚洲第一成人在线| 秋霞欧美一区二区三区视频免费| 亚洲一区二区视频| 亚洲女同二女同志奶水| 亚洲.国产.中文慕字在线| 亚洲不卡的av| 午夜精品久久久久久久蜜桃app| 五月天婷婷丁香网| 亚洲不卡av一区二区三区| 91香蕉一区二区三区在线观看| 五月婷婷综合网| 色婷婷精品久久二区二区蜜臂av | 欧美精品一区二区三区高清aⅴ | 亚洲国产一区在线观看| 国产极品视频在线观看| 亚洲成av人影院| 久久久久久久麻豆| 免费美女久久99| 欧美三级视频在线观看| 国产精品系列在线观看| 欧美一区二区视频免费观看| 99视频精品免费视频| 久久久久免费观看| 性欧美18—19sex性高清| 中文字幕亚洲综合久久菠萝蜜| 大又大又粗又硬又爽少妇毛片| 一区二区三区精品在线观看| 成人黄色短视频| 麻豆精品在线观看| 制服丝袜av成人在线看| 免费国偷自产拍精品视频| 欧美激情一区二区三区全黄 | 在线免费观看a级片| 亚洲精品一二三| 午夜少妇久久久久久久久 | 欧美一级爆毛片| 潘金莲一级淫片aaaaa| 中文字幕亚洲在| 极品蜜桃臀肥臀-x88av| 欧美aaaaaa午夜精品| 欧美群妇大交群中文字幕| 99这里只有精品| 国产精品高潮久久久久无| 女人黄色一级片| 麻豆国产精品一区二区三区 | 欧美人妻一区二区三区| 人人精品人人爱| 日韩视频在线你懂得| av免费观看不卡| 亚洲国产中文字幕在线视频综合| 色综合亚洲欧洲| 欧美激情一区二区在线| 男女做爰猛烈刺激| 麻豆国产一区二区| 精品久久久久久久久久久久包黑料| 久久福利小视频| 天天av天天翘天天综合网色鬼国产| 欧美日韩一区中文字幕| 精品无码av一区二区三区不卡| 亚洲精品欧美综合四区| 欧美亚洲国产怡红院影院| 99久久国产综合精品女不卡| 国产精品第四页| 五月天丁香激情| 99久久免费精品| 亚洲精品你懂的| 欧美日韩一区三区| 久草免费资源站| 日韩高清不卡在线| 欧美v国产在线一区二区三区| 国产精品第七页| 麻豆精品在线看| 久久精品人人做人人综合| 色婷婷粉嫩av| 成人理论电影网| 久久精品—区二区三区舞蹈 | 全国精品久久少妇| 精品国产自在久精品国产| 一级特黄曰皮片视频| 国产一区二区三区综合| 欧美激情艳妇裸体舞| 精品欧美一区二区久久久久| 妖精视频在线观看| 日韩电影免费在线| 精品国产乱码久久久久久蜜臀 | 丝袜美腿亚洲综合| 日韩久久久精品| 五月天精品在线| 成人黄色在线网站| 亚洲一区二区三区视频在线| 91精品久久久久久久久99蜜臂| 丰满少妇在线观看资源站| 国产综合色在线| 国产精品国产三级国产aⅴ中文| 欧美亚洲禁片免费| 极品粉嫩小仙女高潮喷水久久| 精品亚洲porn| 亚洲视频一区二区免费在线观看| 欧美午夜电影网| 国产亚洲无码精品| 国产69精品久久久久777| 一区二区视频在线| 日韩一二三区视频| 三级在线观看免费大全| 中文字幕永久免费| 久久福利视频一区二区| 一区免费观看视频| 欧美一区二区三区视频在线观看| 亚洲色图 激情小说| av午夜精品一区二区三区| 亚洲v日本v欧美v久久精品| 久久久久亚洲蜜桃| 欧美日韩专区在线| 中文字幕第24页| 亚洲一区和二区| 国产一区二区三区在线观看免费视频 | 天天综合色天天| 国产片一区二区| 欧美日韩电影在线播放| 国产调教在线观看| 国产裸体视频网站| 国产在线精品一区二区夜色| 一区二区欧美在线观看| 国产亚洲欧美色| 欧美日韩aaa| 婷婷社区五月天| 国产精品久久无码| 9人人澡人人爽人人精品| 免费xxxx性欧美18vr| 亚洲欧洲综合另类| 精品国产91洋老外米糕| 欧美日韩一区二区三区不卡| 日韩欧美在线视频播放| 稀缺小u女呦精品呦| 成人av在线网| 韩国视频一区二区|