我想读取用户输入并将其存储为 Rational,无论类型如何:整数、浮点或有理数。例如:
5 --> store it as 5//1
2.3 --> store it as 23//10
4//7 --> store it as 4//7
此刻我写了以下内容:
a = convert(Rational,parse(Float64,readline(STDIN)))
如果我输入一个整数,比如 5,这很好。
但如果我输入 2.3,则a
存储2589569785738035//1125899906842624
.
如果我输入一个分数(无论是在 form4/7
还是 form 4//7
),我会得到一个ArgumentError: invalid number format for Float64
.
如何解决 Float&Rational 问题?