정수를 부동 숫자로 변환


127

정수 값을 어떻게 변환합니까? float64 유형으로 어떻게 합니까?

나는 시도했다

float(integer_value)

그러나 이것은 작동하지 않습니다. Golang.org 에서이 작업을 수행하는 패키지를 찾을 수 없습니다.

float64정수 값에서 값을 어떻게 얻 습니까?

답변:


180

float유형 이 없습니다 . 원하는 것 같습니다 float64. float32단 정밀도 부동 소수점 값만 필요한 경우 에도 사용할 수 있습니다 .

package main

import "fmt"

func main() {
    i := 5
    f := float64(i)
    fmt.Printf("f is %f\n", f)
}

go의 컴파일러는 이것에 대해 직관적이지 않습니다. 1.6이 아니라 1.00000 a := uint(8); b := uint(5); c := float32(a/b)이됩니다 c.
isomorphismes

33

완전성을 위해 모든 유형을 설명하는 golang 문서에 대한 링크가 있습니다 . 귀하의 경우에는 숫자 유형입니다.

uint8       the set of all unsigned  8-bit integers (0 to 255)
uint16      the set of all unsigned 16-bit integers (0 to 65535)
uint32      the set of all unsigned 32-bit integers (0 to 4294967295)
uint64      the set of all unsigned 64-bit integers (0 to 18446744073709551615)

int8        the set of all signed  8-bit integers (-128 to 127)
int16       the set of all signed 16-bit integers (-32768 to 32767)
int32       the set of all signed 32-bit integers (-2147483648 to 2147483647)
int64       the set of all signed 64-bit integers (-9223372036854775808 to 9223372036854775807)

float32     the set of all IEEE-754 32-bit floating-point numbers
float64     the set of all IEEE-754 64-bit floating-point numbers

complex64   the set of all complex numbers with float32 real and imaginary parts
complex128  the set of all complex numbers with float64 real and imaginary parts

byte        alias for uint8
rune        alias for int32

즉, float64(integer_value).


2

intutils.ToFloat32

// ToFloat32 converts a int num to a float32 num
func ToFloat32(in int) float32 {
    return float32(in)
}

// ToFloat64 converts a int num to a float64 num
func ToFloat64(in int) float64 {
    return float64(in)
}

0

유형 변환 T () 여기서 T 는 원하는 결과 데이터 유형입니다. GoLang에서는 매우 간단합니다.

내 프로그램 에서 사용자 입력에서 정수 i 를 스캔 하고 유형 변환을 수행하여 변수 f 에 저장합니다 . 출력 float64int입력 과 동등한 것을 인쇄합니다 . float32데이터 유형은 GoLang에서도 사용할 수 있습니다.

암호:

package main
import "fmt"
func main() {
    var i int
    fmt.Println("Enter an Integer input: ")
    fmt.Scanf("%d", &i)
    f := float64(i)
    fmt.Printf("The float64 representation of %d is %f\n", i, f)
}

해결책:

>>> Enter an Integer input:
>>> 232332
>>> The float64 representation of 232332 is 232332.000000
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.