我在沙尔有一个变数,包含一个浮点号码(例如num = 24654.123
),我愿意确定数字精确度和比额表值(从Oracle的意义上讲),因此123.45678应当给我(8,5),12.76应当给我(4,2)。
我首先想到的是使用扼杀性表述(通过<条码>>>/代码>或<代码>repr<>/code>),但这种表述在很多方面都失败(尽管现在我的理解是,这反映了在此问题上的浮动点代表的限制):
>>> num = 1234567890.0987654321
>>> str(num) = 1234567890.1
>>> repr(num) = 1234567890.0987654
Edit:
以下几点。 我应当澄清。 这一数字已经是浮动的,正在通过Cx_Oracle推向一个数据库。 我试图尽最大的努力,处理无法执行INSERT和处理Oracle错误的相应数据库类型太大的浮标(因为我当时想要处理一个领域而不是记录的数字)。 I guess map(len, repr(num).split( )
?