diff --git a/docs/mathutil.md b/docs/mathutil.md index d78ad49..de069c2 100644 --- a/docs/mathutil.md +++ b/docs/mathutil.md @@ -365,15 +365,18 @@ import ( ) func main() { - result1 := mathutil.Percent(1, 2, 2) - result2 := mathutil.Percent(0.1, 0.3, 2) + result1 := Percent(1, 2, 2) + result2 := Percent(0.1, 0.3, 2) + result3 := Percent(-30305, 408420, 2) - fmt.Println(result1) - fmt.Println(result2) + fmt.Println(result1) + fmt.Println(result2) + fmt.Println(result3) - // Output: - // 0.5 - // 0.33 + // Output: + // 50 + // 33.33 + // -7.42 } ``` diff --git a/docs/mathutil_zh-CN.md b/docs/mathutil_zh-CN.md index f6a964d..0b53d7e 100644 --- a/docs/mathutil_zh-CN.md +++ b/docs/mathutil_zh-CN.md @@ -365,15 +365,18 @@ import ( ) func main() { - result1 := mathutil.Percent(1, 2, 2) - result2 := mathutil.Percent(0.1, 0.3, 2) + result1 := Percent(1, 2, 2) + result2 := Percent(0.1, 0.3, 2) + result3 := Percent(-30305, 408420, 2) - fmt.Println(result1) - fmt.Println(result2) + fmt.Println(result1) + fmt.Println(result2) + fmt.Println(result3) - // Output: - // 0.5 - // 0.33 + // Output: + // 50 + // 33.33 + // -7.42 } ``` diff --git a/mathutil/mathutil.go b/mathutil/mathutil.go index 31c5996..c2ecfb2 100644 --- a/mathutil/mathutil.go +++ b/mathutil/mathutil.go @@ -60,7 +60,7 @@ func Percent(val, total float64, n int) float64 { if total == 0 { return float64(0) } - tmp := val / total + tmp := val / total * 100 result := RoundToFloat(tmp, n) return result diff --git a/mathutil/mathutil_exmaple_test.go b/mathutil/mathutil_exmaple_test.go index da73da1..babc37f 100644 --- a/mathutil/mathutil_exmaple_test.go +++ b/mathutil/mathutil_exmaple_test.go @@ -53,13 +53,16 @@ func ExampleFactorial() { func ExamplePercent() { result1 := Percent(1, 2, 2) result2 := Percent(0.1, 0.3, 2) + result3 := Percent(-30305, 408420, 2) fmt.Println(result1) fmt.Println(result2) + fmt.Println(result3) // Output: - // 0.5 - // 0.33 + // 50 + // 33.33 + // -7.42 } func ExampleRoundToFloat() { diff --git a/mathutil/mathutil_test.go b/mathutil/mathutil_test.go index d82f8a4..723c84f 100644 --- a/mathutil/mathutil_test.go +++ b/mathutil/mathutil_test.go @@ -36,8 +36,9 @@ func TestFactorial(t *testing.T) { func TestPercent(t *testing.T) { assert := internal.NewAssert(t, "TestPercent") - assert.Equal(0.5, Percent(1, 2, 2)) - assert.Equal(0.33, Percent(0.1, 0.3, 2)) + assert.EqualValues(50, Percent(1, 2, 2)) + assert.EqualValues(33.33, Percent(0.1, 0.3, 2)) + assert.EqualValues(-7.42, Percent(-30305, 408420, 2)) } func TestRoundToFloat(t *testing.T) {