반응형
Go에서 분할을 수행하는 방법
Go에서 간단한 분할을 수행합니다.
fmt.Println(3/10)
0.3 대신 0을 인쇄합니다. 이건 좀 이상 해요. 누군가가 그 이유를 공유해 주시겠습니까? Go에서 다른 산술 연산을 수행하고 싶습니다.
감사합니다
비어있는 3 / 10
유형이 지정되지 않은 상수입니다. 이렇게 사양 은 상수에 대해.
이진 연산의 피연산자가 다른 종류의 유형이 지정되지 않은 경우에는 연산의 경우 연산 및 부울이 아닌 연산의 경우 결과는이 목록의 뒷부분에 나오는 정수, 룬, 부동 소수점, 복합 유형을 사용합니다.
때문에 3
하고 10
지정되지 않은 정수 상수이며, 식의 값 (지정되지 않은 정수이고, 0
이 경우에).
피연산자 중 하나는 부동 소수점 상수에 대한 결과에 대한 부동 소수점 상수 집합니다. 다음 어디에도없는 유형이 지정되지 않은 부동 소수점 상수로 평가 0.3
됩니다.
3.0 / 10.0
3.0 / 10
3 / 10.0
형식화 된 상수를 사용할 수도 있습니다. 다음 임시은 float64
상수로 평가 0.3
됩니다.
float64(3) / float64(10)
float64(3) / 10
3 / float64(10)
위의 인쇄를 인쇄하면 0.3
. 예를 들어, fmt.Println(3.0 / 10)
인쇄 0.3
.
@Cerise에서 언급 하고 사양에 따라
산술 연산자는 숫자 값에 적용되고 첫 번째 피연산자와 동일한 결과를 생성합니다 .
이 경우 첫 번째 피연산자 만 부동 소수점이어야합니다.
fmt.Println(3.0/10)
fmt.Println(float64(3)/10)
// 0.3 0.3
참고 URL : https://stackoverflow.com/questions/32815400/how-to-perform-division-in-go
반응형
'ProgramingTip' 카테고리의 다른 글
Swagger API 선언에서 JSON-Schema를 생성하는 방법 (0) | 2020.11.15 |
---|---|
Pandas로 가변 수의 열 처리 -Python (0) | 2020.11.15 |
Func의 차이점은 무엇입니까 (0) | 2020.11.15 |
varchar (MAX)가 항상 선호하는 검사? (0) | 2020.11.15 |
읽어야하는 PEP는 무엇입니까? (0) | 2020.11.15 |