返回顶部
首页 > 资讯 > 后端开发 > GO >将科学术语中的数值转换为整数类型的 Go 代码
  • 669
分享到

将科学术语中的数值转换为整数类型的 Go 代码

2024-04-04 23:04:41 669人浏览 独家记忆
摘要

来到编程网的大家,相信都是编程学习爱好者,希望在这里学习golang相关编程知识。下面本篇文章就来带大家聊聊《将科学术语中的数值转换为整数类型的 Go 代码》,介绍一下,希望对大家的知识积累有所帮助

来到编程网的大家,相信都是编程学习爱好者,希望在这里学习golang相关编程知识。下面本篇文章就来带大家聊聊《将科学术语中的数值转换为整数类型的 Go 代码》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发

问题内容

在我的 go 代码中,我正在努力解组从端点接收的 JSON 有效负载。此端点以科学计数法对大值进行编码:

type Test struct {
    Key   string
    Value int32
}

func main() {
    data := []byte("{\"Key\": \"derp\", \"Value\": 3.898733e+06}")

    var t *Test
    err := json.Unmarshal(data, &t)
    
    fmt.Printf("Error: %v\n", err)
    fmt.Printf("Data: %v\n", t)
}

此处的编码值相当于标准表示法中的 3,898,733。但是,此代码会打印错误:

json:无法将数字 3.898733e+06 解组到 int32 类型的 go 结构体字段 test.value 中

这是有道理的,因为 strconv 也无法从字符串中解析该值。但是,我可以执行 var i int32 = 3.898733e+06 并编译并生成正确的答案。

那么,我该如何解决这个错误呢?


正确答案


声明 var i int32 = 3.898733e+06 之所以有效,是因为该表达式中的文字是无类型常量,并且无类型常量是根据上下文求值的。在这种情况下,即使它被写为浮点数,它在编译时也会被解释为 int32。这不会在运行时发生。

有几个选项可以使其适用于 json 封送:

  1. value 声明为 json.number。这样你可以尝试将其解析为 int64,如果失败,将其解析为 float64,然后转换为 int64,希望不会丢失精度。
  2. 定义自定义类型并自行解组:
type LongInt int32

func (i *LongInt) UnmarshalJSON(data []byte) error {
   // Parse data yourself and set the int value
   // Maybe use big.Int?
}
  • value 声明为 float64
  • 今天关于《将科学术语中的数值转换为整数类型的 Go 代码》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注编程网公众号!

    您可能感兴趣的文档:

    --结束END--

    本文标题: 将科学术语中的数值转换为整数类型的 Go 代码

    本文链接: https://lsjlt.com/news/595934.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • 将科学术语中的数值转换为整数类型的 Go 代码
      来到编程网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《将科学术语中的数值转换为整数类型的 Go 代码》,介绍一下,希望对大家的知识积累有所帮助...
      99+
      2024-04-04
    • javascript中怎么将值转换为数字类型
      这篇文章将为大家详细讲解有关javascript中怎么将值转换为数字类型,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。转换为数字类型的方法:1、使用pars...
      99+
      2024-04-02
    • R语言 实现将数据框中的字符类型数字转换为数值
      场景1 我现在有一个数据框datexpr,里面的数字都是以字符型表示的,像这样 > datexpr[1,1] [1] " 1.143773961" 现在我想把这个数据框中...
      99+
      2024-04-02
    • Go语言中整数类型之间怎么转换
      这篇“Go语言中整数类型之间怎么转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言中整数类型之间怎么转换”文章吧。G...
      99+
      2023-07-05
    • r语言中怎么将字符型转换为数值型
      要将字符型转换为数值型,可以使用as.numeric()函数。示例如下: # 创建一个字符型变量 char_var <- &q...
      99+
      2024-03-02
      r语言
    • C++实现将长整型数转换为字符串的示例代码
      C++实现将长整型数转换为字符串 #include <iostream> using namespace std; char *convertLongTo...
      99+
      2024-04-02
    • 聊聊Go语言中整数类型之间的转换操作
      Go语言中有多种整数类型,包括int、int8、int16、int32、int64、uint、uint8、uint16、uint32和uint64等。这些类型占用的字节数不同,在运算和存储时有各自的特点和限制。当我们需要对不同类型的整数进行...
      99+
      2023-05-14
    • 详解Go语言中的数据类型及类型转换
      目录1、基本数据类型2、基础数据类型转换3、基本数据类型转为字符串4、strconv的使用5、字符串转为基础类型1、基本数据类型 数据类型有很多,先研究一下基础的,例如:布尔型、数字...
      99+
      2024-04-02
    • Java将Object转换为数组的代码
      今天在使用一个别人写的工具类,这个工具类,主要是判空操作,包括集合、数组、Map等对象是否为空的操作。 下面展示了一部分代码: public static boolean isEmp...
      99+
      2024-04-02
    • go语言的数据类型转换教程
      Go语言中,数据类型转换通常使用强制类型转换”类型断言“进行,常见的数据类型转换方法如下:1、将一个整型数值转换为另一个整型数值时,可以使用强制类型转换;2、浮点型数值转换为另一个浮点型数值时,也可以使用强制类型转换;3、字符串转换为另一个...
      99+
      2023-12-18
      go语言数据类型转换 go语言 Golang
    • Oracle中怎么将VARCHAR列的数据转换为数字类型
      这篇文章将为大家详细讲解有关Oracle中怎么将VARCHAR列的数据转换为数字类型,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Oracle 中将 VARCHAR 列转换为数字类型 在 Oracle 数...
      99+
      2024-05-13
      VARCHAR 数字类型 CAST TO_NUMBER DECODE
    • Python IDE中如何将不同类型的数据转换为二维码?
      随着二维码的普及,越来越多的应用场景需要我们将数据转换为二维码。Python是一种广泛应用于数据处理和分析的语言,也可以用来生成二维码。本文将介绍如何使用Python IDE将不同类型的数据转换为二维码。 安装qrcode库 要生成二...
      99+
      2023-10-30
      ide 数据类型 二维码
    • 如何将WMI中的DateTime类型转换成VBS时间的函数代码
      这篇文章将为大家详细讲解有关如何将WMI中的DateTime类型转换成VBS时间的函数代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。有两种方法可以转换,一种是自己写个函数解析: 复制代码 代码如下:F...
      99+
      2023-06-08
    • 在Go中如何将int转换为包含complex128的泛型类型?
      php小编小新将为大家介绍在Go语言中如何将int转换为包含complex128的泛型类型。在Go语言中,我们可以使用类型断言来实现这个转换。类型断言是一种检查接口值的类型的方式,它的...
      99+
      2024-02-09
      go语言
    • 如何使用C#中的Enum.Parse函数将字符串转换为枚举类型的值
      如何使用C#中的Enum.Parse函数将字符串转换为枚举类型的值在C#中,枚举(Enum)是一种用于声明一组相关常量的数据类型。当我们需要将字符串转换为枚举类型的值时,可以使用Enum.Parse函数来实现。本文将详细介绍如何使用Enum...
      99+
      2023-11-18
      C# 字符串转换 EnumParse
    • GO 中将 Map 转换为 List 的通用函数
      php小编草莓为您介绍一款名为“GO 中将 Map 转换为 List 的通用函数”的实用工具。这个函数可以帮助您将键值对映射(Map)的数据结构转换为列表(List)的数据结构。通过这...
      99+
      2024-02-13
      键值对
    • PHP中如何将CLOB类型的数据转换为字符串
      这篇文章主要介绍“PHP中如何将CLOB类型的数据转换为字符串”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP中如何将CLOB类型的数据转换为字符串”文章能帮助大家解决问题。方法一:使用Orac...
      99+
      2023-07-06
    • Go语言中的数据类型有哪些及类型间怎么转换
      这篇“Go语言中的数据类型有哪些及类型间怎么转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言中的数据类型有哪些及类...
      99+
      2023-06-30
    • Go 中将 int 切片转换为自定义 int 切片指针类型的函数
      php小编新一今天为大家介绍的是在Go语言中将int切片转换为自定义int切片指针类型的函数。在Go语言中,切片(slice)是一个非常常用的数据类型,可以动态地增加或减少元素个数。有...
      99+
      2024-02-08
      go语言
    • PHP中数值类型转换函数的应用技巧
      PHP作为一种广泛应用的后端编程语言,具有丰富的内置函数来进行不同类型的操作。数值类型转换函数是PHP中常用的一类函数,能够将不同类型的数据转换成数值类型,例如整型或浮点型。本文将介绍...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作