時間限制 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...