小編寫這篇文章的主要目的,是給大家介紹關于怎么使用Python去除小數(shù)點后面存在0的問題,具體的一些操作,下面會給大家做出一個比較詳細的解答。
Python去除小數(shù)點后面多余的0
最近在用Python寫導入數(shù)據(jù)的腳本。在網(wǎng)上搜了好多,沒有找到相關資料。
真的是找到了很多途徑,最后還是在谷歌上面找到了相關的內(nèi)容。
這里我搬過來整理一下,以及使用時候可能遇到的問題。希望對看到這篇文章的讀者有用
首先引入頭文件
from decimal import Decimal
舉個例子
數(shù)字100.2000
第一次這么使用Decimal('100.2000').normalize()得到的結果100.2是想要的結果。
可是normalize()有個問題,如果是100.00000同樣Decimal('100.0000').normalize()得到的結果就是1E+2
那么這種情況怎么辦呢,就是換個方法使用“to_integral”,像這樣:Decimal('100.000').to_integral()得到結果是100,這才是想要的結果。
那怎么才能更好的兩種兼容呢,可以先做一個判斷在去除多余0之后是否相等:
>>>Decimal('100.2000')==Decimal('100.2000').to_integral() False >>>Decimal('100.0000')==Decimal('100.0000').to_integral() True
根據(jù)這個判斷可以自己寫一個function
def remove_exponent(num): return num.to_integral()if num==num.to_integral()else num.normalize()
最后調(diào)用這個function這里同樣舉上面幾個例子得到的結果
>>>remove_exponent(Decimal('100.2000')) Decimal('100.2') >>>remove_exponent(Decimal('100.0000')) Decimal('100') >>>remove_exponent(Decimal('0.2000')) Decimal('0.2')
這里輸出是Decimal類型是因為調(diào)用的方法里面就是這個類型的??梢灾苯赢攆loat用,如果想要換成string類型就在用str()包一下上面得到的結果就行啦,這個就不解釋了
這樣就解決標題所說的去除小數(shù)點后面多余的0的問題了
Python去掉數(shù)字前面的0
有時候文件的編號是在前面自動補0生成的,而當我們需要讀取這些文件名對應的編號時,前面的0會給判斷語句造成麻煩,那么如何將前面的0去掉呢?
因為Python默認在轉(zhuǎn)換成字符串時忽略前面的0,因此可以通過格式轉(zhuǎn)換的方法實現(xiàn)去0:
>>>str(000001) '1' >>>int(str(000001)) 1
綜上所述,關于Python去除小數(shù)點后面存在0的問題,就為大家介紹到這里了,希望可以給各位讀者帶來幫助。
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/127803.html
摘要:支持轉(zhuǎn)換為類型的,僅有,其他類型均不支持。如果中含有正負號數(shù)字和小數(shù)點以外的字符,則不支持轉(zhuǎn)換。轉(zhuǎn)換時,會自動添加虛數(shù)部分并以表示。轉(zhuǎn)換會直接完全轉(zhuǎn)換。轉(zhuǎn)換列表,會取每個字節(jié)的十進制值并組合成列表轉(zhuǎn)換為比較簡單。 int 支持轉(zhuǎn)換為 int 類型的,僅有 float、str、bytes,其他類型均不支持。 float -> int 會去掉小數(shù)點及后面的數(shù)值,僅保留整數(shù)部分。 int(-...
摘要:它是一門解析型的語言,何為解析型語言呢就是在運行時通過解析器將源代碼一行行解析成機器碼。而像語言,等則是編譯型的語言,即通過編譯器將所有的源代碼一次性編譯成二進制指令,生成一個可執(zhí)行的程序。 ...
摘要:方法語法格式作用檢索字符串是否以指定的字符串結尾,如果是則返回,否則返回。需要思維導圖源文件的請留言你的郵箱。 文章末尾獲取思維導圖高清源文件showImg(https://segmentfault.com/img/remote/1460000019073701); 拼接字符串 使用+可以對多個字符串進行拼接語法格式:str1 + str2 >>> str1 = aaa >>> str...
摘要:官方也宣布在停止對的維護。并且在很多面試過程中,面試官都會問與的區(qū)別。的版本,常被稱為,或簡稱。與部分地支持這種形式的語法。捕獲異常的語法由改為。在中,表示八進制字面量的方式只有一種,就是。已經(jīng)支援新的模組。 前言 如果你是剛接觸 Python 的初學者,那你可能是直接學習 Python 3.x 版本。對于 Python 2.x 的版本是不會有所接觸。官方也宣布在 2020 停止對 P...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02