一. 題目
題目給你乙個整數 n,請你每隔三位新增點(即 「.」 符號)作為千位分隔符,並將結果以字串格式返回。
示例
二. 方法一: 反轉字串
解題思路
先將字串反轉, 然後每隔3個數字新增乙個"."
再將最終的字串反轉回來, 並刪掉最後多餘的"."即可
之所以最開始要反轉字串, 是因為反轉後就不用考慮最前面是否滿足3位的情況
解題**
def
thousandseparator
(self, n:
int)
->
str:
num =
str(n)[:
:-1]
res =
""for i in
range(0
,len
(num),3
):res += num[i: i +3]
+"."
return res[::
-1][1:]
分析
時間複雜度: o(n^2)
空間複雜度: o(n)
三. 方法二
解題思路
將字串每隔三位進行儲存在列表中
然後將最右側的元素(數值最左邊的)直接新增到res中, 並加上"."
其他元素同步驟2, 但是要對其左側進行填充為3位的元素
然後去掉最後多餘的".",即可
如果不進行填充: 「51040」 會轉成51.40, 而應該轉為51.040
解題**
def
thousandseparator
(self, n:
int)
->
str:
arr =
res =
""if n ==0:
return
"0"while n >0:
str(n %
1000))
n //=
1000
# 最左側不需要進行填充為3位
res += arr[
len(arr)-1
]+"."for i in
range
(len
(arr)-2
,-1,
-1):
zfill: 左側用0填充到指定的位數
res += arr[i]
.zfill(3)
+"."
return res[:-
1]
分析
時間複雜度: o(n)
空間複雜度: o(n)
轉換千分位
string str decimalformat.getnumberinstance format su string currecy numberformat.getcurrencyinstance format su system.out.println 轉換成currency格式 su sys...
千分位分割
格式化數字 67235943 為貨幣金額顯示方式 67,235,943要怎麼做,這是暫時不考慮有小數的形式 採用正則替換,呼叫字串replace方法 67235943 replace d d g,1,如果有小數部分,如 67235943.4687 此時如果只格式化整數部分,採用上面的正則,不過要稍微...
JS實現千分位
function format num d g return num replace reg,解釋 1 正規表示式 d d 表示前面有1 3個數字,後面的至少由一組3個數字結尾 2 表示正向引用,可以作為匹配的條件,但匹配到的內容不獲取,並且作為下一次查詢的開始 3 表示與正規表示式相匹配的內容,具...