3 回答

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊
為了擴(kuò)展迭戈的答案,您已經(jīng)知道了
var ratex float64 = 1 + interest
在定義利息之前,所以它是0,ratex變成1。
var logi float64 = math.Log(ratex)
并且由于ratex為1,且log 1為0,logi變?yōu)?。然后通過(guò)除以logi定義周期,即0,因此將得到+ inf。
您應(yīng)該做的是在獲得感興趣的輸入后,將值分配給ratex。

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
當(dāng)您分配ratex的值時(shí),興趣為0。因此,增加您的值所需的時(shí)間將是無(wú)窮大。您想要的是:
func numPeriod() {
fmt.Println("Enter interest amount: ")
fmt.Scanf("%g", &interest)
var ratex float64 = 1 + interest / 100 //used for (1 + i)
fmt.Println("Enter present value: ")
fmt.Scanf("%g", &presentValue)
fmt.Println("Enter future value: ")
fmt.Scanf("%g", &futureValue)
var logfvpvFactor float64 = futureValue / presentValue
var logi float64 = math.Log(ratex)
var logfvpv float64 = math.Log(logfvpvFactor)
period = logfvpv / logi
fmt.Printf("Number of period/s is = %g\n", period)
}

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
(09:54) jnml@fsc-r550:~/src/tmp/SO/13739751$ cat main.go
package main
import (
"fmt"
"math"
)
func main() {
var i, pv, fv float64
fmt.Println("Enter interest amount: ")
fmt.Scanf("%g", &i)
fmt.Println("Enter present value: ")
fmt.Scanf("%g", &pv)
fmt.Println("Enter future value: ")
fmt.Scanf("%g", &fv)
fmt.Printf("Number of period/s is = %g\n", math.Log(fv/pv)/math.Log(1+i))
}
(09:54) jnml@fsc-r550:~/src/tmp/SO/13739751$ go run main.go
Enter interest amount:
.1
Enter present value:
100
Enter future value:
200
Number of period/s is = 7.272540897341713
(09:54) jnml@fsc-r550:~/src/tmp/SO/13739751$
- 3 回答
- 0 關(guān)注
- 1075 瀏覽
添加回答
舉報(bào)