整数を浮動小数点数に変換します


127

整数値を変換する方法 float64型ですか?

私は試した

float(integer_value)

しかし、これは機能しません。そして、これを行うパッケージをGolang.orgで見つけることができません

float64整数値から値を取得するにはどうすればよいですか?

回答:


180

floatタイプはありません。あなたが望むように見えますfloat64float32単精度浮動小数点値のみが必要な場合にも使用できます。

package main

import "fmt"

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

goのコンパイラはこれについて直感的ではないことに注意してください。a := uint(8); b := uint(5); c := float32(a/b)作るc1.00000、ではない1.6なります。
同型写像

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.