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位只是寄存器的一次处理的位数。配合不同的算法,多大的数字都可以处理。

总结

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

相关文章

  • Go语言创建、初始化数组的常见方式汇总

    Go语言创建、初始化数组的常见方式汇总

    这篇文章主要介绍了Go语言创建、初始化数组的常见方式,实例汇总了Go语言操作数组的常见技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • golang 随机数的两种方式

    golang 随机数的两种方式

    本文主要介绍了golang 随机数的两种方式,一种是伪随机,另一种是真随机,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • golang微服务框架kratos实现Socket.IO服务的方法

    golang微服务框架kratos实现Socket.IO服务的方法

    本文主要介绍了golang微服务框架kratos实现Socket.IO服务的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 使用Golang实现对网络数据包的捕获与分析

    使用Golang实现对网络数据包的捕获与分析

    在网络通信中,网络数据包是信息传递的基本单位,抓包是一种监控和分析网络流量的方法,用于获取网络数据包并对其进行分析,本文将介绍如何使用Golang实现抓包功能,包括网络数据包捕获和数据包分析,需要的朋友可以参考下
    2023-11-11
  • Go使用Gin+mysql实现增删改查的详细实例

    Go使用Gin+mysql实现增删改查的详细实例

    golang本身没有提供连接mysql的驱动,但是定义了标准接口供第三方开发驱动,下面这篇文章主要给大家介绍了关于Go使用Gin+mysql实现增删改查的相关资料,需要的朋友可以参考下
    2022-12-12
  • Golang中对json的优雅处理方式

    Golang中对json的优雅处理方式

    这篇文章主要给大家介绍了关于Golang中对json的优雅处理方式,解析JSON在golang中很麻烦,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Golang实现单元测试中的接口层

    Golang实现单元测试中的接口层

    接口层主要负责的就是请求的处理,最常见的就是 HTTP 请求的处理。这篇文章主要为大家介绍了Golang如何实现单元测试中的接口层,需要的可以参考一下
    2023-03-03
  • Go语言bufio库的全面指南与实战技巧详解

    Go语言bufio库的全面指南与实战技巧详解

    这篇文章主要为大家全面介绍一下 bufio 库的核心组件与功能,包括 Reader、Writer 和 Scanner 等并深入探讨它们在实际编程中的运用场景和技巧,感兴趣的可以了解下
    2024-01-01
  • GO语言实现简单TCP服务的方法

    GO语言实现简单TCP服务的方法

    这篇文章主要介绍了GO语言实现简单TCP服务的方法,实例分析了Go语言实现TCP服务的技巧,需要的朋友可以参考下
    2015-03-03
  • Golang pprof性能测试与分析讲解

    Golang pprof性能测试与分析讲解

    刚开始接触go就遇到了一个内存问题,在进行内存分析的时候发现了一下比较好的工具,在此留下记录,下面这篇文章主要给大家介绍了关于go性能分析工具pprof的性能测试,需要的朋友可以参考下
    2023-04-04

最新评论