mirror of
https://gitee.com/johng/gf
synced 2026-06-06 16:21:40 +08:00
修复浮点型排序
原因: 返回值,强制转成 int 类型,会导致浮点型比较不准确,例如:0.33,转成 int 类型时,会变成 0
This commit is contained in:
@ -79,10 +79,10 @@ func ComparatorUint64(a, b interface{}) int {
|
||||
func ComparatorFloat32(a, b interface{}) int {
|
||||
aFloat := gconv.Float64(a)
|
||||
bFloat := gconv.Float64(b)
|
||||
if aFloat == bFloat{
|
||||
if aFloat == bFloat {
|
||||
return 0
|
||||
}
|
||||
if aFloat > bFloat{
|
||||
if aFloat > bFloat {
|
||||
return 1
|
||||
}
|
||||
return -1
|
||||
@ -92,10 +92,10 @@ func ComparatorFloat32(a, b interface{}) int {
|
||||
func ComparatorFloat64(a, b interface{}) int {
|
||||
aFloat := gconv.Float64(a)
|
||||
bFloat := gconv.Float64(b)
|
||||
if aFloat == bFloat{
|
||||
if aFloat == bFloat {
|
||||
return 0
|
||||
}
|
||||
if aFloat > bFloat{
|
||||
if aFloat > bFloat {
|
||||
return 1
|
||||
}
|
||||
return -1
|
||||
|
||||
Reference in New Issue
Block a user