package main import . "fmt" import . "math/big" func main() { a,b:=new(Rat),new(Rat) Scan(a,b) // Bが9桁の場合 A/Bで9は最大でも8個までしか連続して現れない、のだと思われる // RatのFloatStringは末尾の桁は四捨五入で繰り上がりで+1になる可能性がある // ゆえに、59桁分を求めて後ろ9桁を削ればいいはず const D = 9 s:=a.Quo(a,b).FloatString(50+D) Println(s[:len(s)-D]) }