파이썬에서 나누기 연산자를 사용할 때 십진수 값을 어떻게 얻습니까?
예를 들어 표준 나눗셈 기호 '/'는 0으로 반올림됩니다.
>>> 4 / 100
0
그러나 0.04를 반환하고 싶습니다. 나는 무엇을 사용합니까?
세 가지 옵션이 있습니다.
>>> 4 / float(100)
0.04
>>> 4 / 100.0
0.04
C, C ++, Java 등과 동일한 동작입니다.
>>> from __future__ import division
>>> 4 / 100
0.04
-Qnew
Python 인터프리터에 인수 를 전달하여이 동작을 활성화 할 수도 있습니다 .
$ python -Qnew
>>> 4 / 100
0.04
두 번째 옵션은 Python 3.0의 기본값입니다. 이전 정수 나누기를 원하면 //
연산자 를 사용해야합니다 .
편집 : ΤΖΩΤΖΙΟΥ-Qnew
덕분 에 섹션 추가 !
다른 답변은 부동 소수점 값을 얻는 방법을 제안합니다. 이 wlil은 사용자가 원하는 것과 비슷하지만 정확하지는 않습니다.
>>> 0.4/100.
0.0040000000000000001
실제로 십진수 값을 원하면 다음을 수행하십시오.
>>> import decimal
>>> decimal.Decimal('4') / decimal.Decimal('100')
Decimal("0.04")
그러면 10 진법의 4/100이 "0.04" 라는 것을 제대로 알고있는 오브젝트를 얻을 수 있습니다 . 부동 소수점 숫자는 실제로 10 진수가 아니라 2 진수입니다.
다음과 같이 용어 중 하나 또는 모두를 부동 소수점 숫자로 만듭니다.
4.0/100.0
또는 Python 3.0에서 기본이 될 기능인 '진정한 분할'을 켜십시오. 모듈 또는 스크립트 상단에서 다음을 수행하십시오.
from __future__ import division
Python의 10 진수 패키지도 살펴볼 수 있습니다 . 이것은 좋은 십진 결과를 제공 할 것입니다.
>>> decimal.Decimal('4')/100
Decimal("0.04")
파이썬에게 정수가 아닌 부동 소수점 값을 사용하도록 지시해야합니다. 입력에 소수점을 사용하여 간단하게 수행 할 수 있습니다.
>>> 4/100.0
0.040000000000000001
4.0 / 100 시도
간단한 경로 4 / 100.0
또는
4.0 / 100
여기에 두 가지 가능한 경우가 있습니다.
from __future__ import division
print(4/100)
print(4//100)
숫자 끝에 ".0"을 추가 할 수도 있습니다.
4.0/100.0
You cant get a decimal value by dividing one integer with another, you'll allways get an integer that way (result truncated to integer). You need at least one value to be a decimal number.
Add the following function in your code with its callback.
# Starting of the function
def divide(number_one, number_two, decimal_place = 4):
quotient = number_one/number_two
remainder = number_one % number_two
if remainder != 0:
quotient_str = str(quotient)
for loop in range(0, decimal_place):
if loop == 0:
quotient_str += "."
surplus_quotient = (remainder * 10) / number_two
quotient_str += str(surplus_quotient)
remainder = (remainder * 10) % number_two
if remainder == 0:
break
return float(quotient_str)
else:
return quotient
#Ending of the function
# Calling back the above function
# Structure : divide(<divident>, <divisor>, <decimal place(optional)>)
divide(1, 7, 10) # Output : 0.1428571428
# OR
divide(1, 7) # Output : 0.1428
This function works on the basis of "Euclid Division Algorithm". This function is very useful if you don't want to import any external header files in your project.
Syntex : divide([divident], [divisor], [decimal place(optional))
Code : divide(1, 7, 10)
OR divide(1, 7)
Comment below for any queries.
Import division from future library like this:
from__future__ import division
'Programing' 카테고리의 다른 글
여러 파일 형식에 대해 FileSystemWatcher에 대한 필터를 설정하는 방법은 무엇입니까? (0) | 2020.12.03 |
---|---|
하나의 특정 Laravel 마이그레이션 실행 (단일 파일) (0) | 2020.12.03 |
iPhone 용 Xcode에서 Core Data 모델을 생성 한 후 클래스를 생성하는 방법 (0) | 2020.12.03 |
읽기 성능을 위해 OLAP 데이터베이스를 비정규 화해야합니까? (0) | 2020.12.03 |
ApplicationContext 자체를 주입하는 방법 (0) | 2020.12.03 |