科學計數法 20

2021-08-26 20:28:36 字數 1257 閱讀 2731

時間限制 1000 ms 記憶體限制 32768 kb **長度限制 100 kb 判斷程式 standard (來自 小小)

現以科學計數法的格式給出實數a,請編寫程式按普通數字表示法輸出a,並保證所有有效位都被保留。

每個輸入包含1個測試用例,即乙個以科學計數法表示的實數a。該數字的儲存長度不超過9999位元組,且其指數的絕對值不超過9999。

對每個測試用例,在一行中按普通數字表示法輸出a,並保證所有有效位都被保留,包括末尾的0。
+1.23400e-03
0.00123400
第一種,,,,會溢位

m = input().split(sep='e')

a = str(float(float(m[0])*(10 ** float(m[1]))))

str1, count = m[0][::-1], 0

for i in str1:

if i == '0':

count += 1

if count != 0:

a = a+'0' * count

a = a.split(sep='.')

if int(a[1]) == 0:

print(a[0])

else:

print(a)

第二種

import re  

s=re.compile("e") #以字元e為中點,分隔字串為兩部分

n=input()

m=s.split(n)

a=m[0]

b=int(m[1])

if a[0]=="+":

c="" #正數沒有符號位

else:

c="-" #負數有符號

if b<0: #當指數為負數時,值為:符號位 + 0. + 增添的0 + 整數部分 + 小數部分

print(c+"0."+"0"*(abs(b)-1)+a[1:2]+a[3:])

elif b==0: #當指數為0時,直接輸出即可,只需注意正數的符號要去掉

print(c+a[1:])

elif 0len(a[3:]): #當指數大於有效位時,需要新增末尾的0

print(c+a[1]+a[3:]+"0"*(b-len(a[3:])))

科學計數法 20

科學計數法 20 時間限制 1000 ms 記憶體限制 32768 kb 長度限制 100 kb 判斷程式 standard 來自 小小 題目描述 科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分 只有1位,小數部分至少有1位...

科學計數法 20

時間限制 1000 ms 記憶體限制 32768 kb 長度限制 100 kb 判斷程式 standard 來自 小小 科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分 只有1位,小數部分至少有1位,該數字及其指數部分的正負號...

科學計數法

在做專案時發現乙個比較頭痛的問題,輸入法輸入金額android inputtype numberdecimal 控制項是可以輸入000.123的,為了獲取正確的輸入值可以使用下面方法,當輸入的資料很長時也不會被用科學計數法顯示 string str 000.123 bigdecimal bigdec...