C语言类型转换

int/float to string/array:

C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明。

  • itoa():将整型值转换为字符串。
  • ltoa():将长整型值转换为字符串。
  • ultoa():将无符号长整型值转换为字符串。
  • gcvt():将浮点型数转换为字符串,取四舍五入。
  • ecvt():将双精度浮点型值转换为字符串,转换结果中不包含十进制小数点。
  • fcvt():指定位数为转换精度,其余同ecvt()。
    除此外,还可以使用sprintf系列函数把数字转换成字符串,其比itoa()系列函数运行速度慢

string/array to int/float

C/C++语言提供了几个标准库函数,可以将字符串转换为任意类型(整型、长整型、浮点型等)。

  • atof():将字符串转换为双精度浮点型值。
  • atoi():将字符串转换为整型值。
  • atol():将字符串转换为长整型值。
  • strtod():将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字。
  • strtol():将字符串转换为长整值,并报告不能被转换的所有剩余数字。
  • strtoul():将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字。

itoa()

itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用 的基数。在上例中,转换基数为10。10:十进制;2:二进制...
itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。是Windows平台下扩展的,标准库中有sprintf,功能比这个更强,用法跟printf类似:

原文地址:https://www.cnblogs.com/ishero/p/11136288.html

时间: 2024-11-08 10:55:37

C语言类型转换的相关文章

C语言类型转换与原型申明

C语言类型转换与原型申明 关于整型字面值 字面值这个术语是字面常量值的缩写,指定了自身的值,并且不允许发生改变.当有一程序内出现整形字面值时,它是属于整型家庭9种不同类型中的哪一种呢?这取决于如何书写,例如下整型字面值后添加字符L(长整型).U(无符号整型).另外,字符常量(例:'M'.'\377')的类型总是int. 类型转换 c语言中类型转换比一般人想象的要广泛得多.在涉及类型小于int或double的表达式中都可能发生转换.下面程序执行结果是4. printf("%d",size

GO语言学习(十七)Go 语言类型转换

Go 语言类型转换 类型转换用于将一种数据类型的变量转换为另外一种类型的变量.Go 语言类型转换基本格式如下: type_name(expression) type_name 为类型,expression 为表达式. 实例 以下实例中将整型转化为浮点型,并计算结果,将结果赋值给浮点型变量: package main import "fmt" func main() { var sum int = 17 var count int = 5 var mean float32 mean =

C语言---类型转换

itoa 功 能:把一整数转换为字符串 用 法:char *itoa(int value, char *string, int radix); 详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写. 参数: value: 待转化的整数. radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制. * string: 保存转换后得到的字符串. 返回值:

Unity中 Plugin 跨语言 类型转换

Unity 支持Plugin ,有一些代码我们可以用C++ 来编写成 Plugin 供C#调用,但是对于不同语言之间的类型转换就会很纠结.比如说 C# 里面的 string 到C++ 里面是什么?C++里面的string到C#里面是什么? 引自Unity官方的例子 C++咯平台代码如下: Win32/64 #if _MSC_VER // this is defined when compiling with Visual Studio #define EXPORT_API __declspec(

Go语言中调用C语言----类型转换篇

1. 基本类型转换较简单,直接用强制类型转换就可以,如下: Go转换成C: var i int ci := C.int(i) C转换成Go: var i C.int goi := int(i) 2. 字符串类型转换也不是很难,有一点需要注意,就是在将C语言中的char数组转换成Go的string时需要做一点小修改,如下: Go转换成C: var str string cstr := C.CString(str) C转换成Go: /* #include <stdlib.h> #include &

Go语言类型转换库【github.com/demdxx/gocast】的用法

一.导入库: go get github.com/demdxx/gocast 二.测试代码: // main.go package main import ( "fmt" "reflect" "github.com/demdxx/gocast" ) type AccessRegion struct { region_id int64 `tag:"RegionId"` provider_id int64 `tag:"P

Delphi与C语言类型转换对照

When converting C function prototypes to Pascal equivalent declarations, it's important to substitute the C function and argument types with the correct Pascal types. I often use a Type Translation Table for this, like the following in table 1 (optio

c语言不寻常的类型转换(类型提升)

对于一下代码: printf("%d",sizeof('A')); 你确定他打印的是1吗? 运行之后发现结果是 4 ! C语言 类型转换比一般人想像的还要多,在涉及小于int 和 double 的表达式中 , 都有可能出现类型转换! 根据提升规则:它由char 转换成为 int .这个特性叫做类型提升 ! char c1,c2; ........... c1=c1+c2; 下表给出了常见的类型提升的列表: char -------------------------> int 枚

c语言,数据类型转换

隐式类型转换规则: C语言自动转换不同类型的行为称之为隐式类型转换 ,转换的基本原则是:低精度类型向高精度类型转换,具体是: int -> unsigned int -> long -> unsigned long -> long long -> unsigned long long -> float -> double -> long double 注意,上面的顺序并不一定适用于你的机器,比如当int和long具有相同字长时,unsigned int的精度