golang string、int、int64 float 互相转换方式

 更新时间:2023年07月31日 09:40:57   作者:不变不中  
这篇文章主要介绍了golang string、int、int64 float 互相转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

golang string、int、int64 float 互相转换

#string到int  
int,err := strconv.Atoi(string)  
#string到int64  
int64, err := strconv.ParseInt(string, 10, 64)  
//第二个参数为基数(2~36),
//第三个参数位大小表示期望转换的结果类型,其值可以为0, 8, 16, 32和64,
//分别对应 int, int8, int16, int32和int64
#int到string  
string := strconv.Itoa(int) 
//等价于
string := strconv.FormatInt(int64(int),10)
#int64到string  
string := strconv.FormatInt(int64,10)  
//第二个参数为基数,可选2~36
//对于无符号整形,可以使用FormatUint(i uint64, base int)
#float到string
string := strconv.FormatFloat(float32,'E',-1,32)
string := strconv.FormatFloat(float64,'E',-1,64)
// 'b' (-ddddp±ddd,二进制指数)
// 'e' (-d.dddde±dd,十进制指数)
// 'E' (-d.ddddE±dd,十进制指数)
// 'f' (-ddd.dddd,没有指数)
// 'g' ('e':大指数,'f':其它情况)
// 'G' ('E':大指数,'f':其它情况)
#string到float64
float,err := strconv.ParseFloat(string,64)
#string到float32
float,err := strconv.ParseFloat(string,32)
#int到int64
int64_ := int64(1234)

golang float string int 相互转换 保留小数位

string 转换为 float

package main
import (
    "fmt"
    "strconv"
)
func main() {
    input := "3.14"
    f_input, _ := strconv.ParseFloat(input, 64)
    fmt.Printf("%f - %T", f_input, f_input)
}

执行结果

> go run main.go
3.140000 - float64

int 转化为 float

score := 100
f_score := float64(score)
fmt.Printf("%f - %T\n", f_score, f_score)
> 100.000000 - float64

转换为 string,并保留3位小数

s_score := fmt.Sprintf("%.3f", f_score)

注意,这样保留3位小数会自动四舍五入。

无论是 32位系统还是 64 位系统,都支持 float64

ubuntu 查看系统是 32 位还是 64 位

> uname -a
Linux 509B65C8YW2THMJ 4.4.0-18362-Microsoft #1-Microsoft Mon Mar 18 12:02:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux

因为32位只是寄存器的一次处理的位数。配合不同的算法,多大的数字都可以处理。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用golang实现在屏幕上打印进度条的操作

    使用golang实现在屏幕上打印进度条的操作

    这篇文章主要介绍了使用golang实现在屏幕上打印进度条的操作,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 创建Go工程化项目布局详解

    创建Go工程化项目布局详解

    这篇文章主要介绍了创建Go工程化项目布局详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Go语言设计实现在任务栏里提醒你喝水的兔子

    Go语言设计实现在任务栏里提醒你喝水的兔子

    这篇文章主要为大家介绍了Go语言设计实现在任务栏里提醒你喝水的兔子示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Go语言二维数组的传参方式

    Go语言二维数组的传参方式

    这篇文章主要介绍了Go语言二维数组的传参方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Go语言的匿名字段实现组合复用实例探究

    Go语言的匿名字段实现组合复用实例探究

    这篇文章主要为大家介绍了Go语言的匿名字段实现组合复用实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Go语言实战之实现一个简单分布式系统

    Go语言实战之实现一个简单分布式系统

    如今很多云原生系统、分布式系统,例如 Kubernetes,都是用 Go 语言写的,这是因为 Go 语言天然支持异步编程。本篇文章将介绍如何用 Go 语言编写一个简单的分布式系统,需要的小伙伴开业跟随小编一起学习一下
    2022-10-10
  • Go语言中的switch用法实例分析

    Go语言中的switch用法实例分析

    这篇文章主要介绍了Go语言中的switch用法,实例分析了switch的功能及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • golang使用mapstructure解析json

    golang使用mapstructure解析json

    mapstructure 是一个 Go 库,用于将通用映射值解码为结构,这篇文章主要来和大家介绍一下golang如何使用mapstructure解析json,需要的可以参考下
    2023-12-12
  • Golang使用zlib压缩和解压缩字符串

    Golang使用zlib压缩和解压缩字符串

    本文给大家分享的是Golang使用zlib压缩和解压缩字符串的方法和示例,有需要的小伙伴可以参考下
    2017-02-02
  • 简单对比一下 C语言 与 Go语言

    简单对比一下 C语言 与 Go语言

    这篇文章主要介绍了简单对比一下 C语言 与 Go语言的相关资料,需要的朋友可以参考下
    2023-08-08

最新评论