string - 将字符串/字符转换为 uint8

为什么表达:

test = cast(strtrim('3'), 'uint8')

生产 51?

这也适用于:

test = cast(strtrim('3'), 'int8')

谢谢。

最佳答案

因为 51 是 ASCII code对于字符 '3'

如果你想将字符串转换成数字3,你应该使用

uint8(str2double('3'))

请注意 str2double 将忽略尾随空格,因此 strtrim 不是必需的。

编辑

当在数字运算中使用字符串时,Matlab 会自动将其转换为其 ASCII 值。例如

>> '1'+1
ans =
    50

https://stackoverflow.com/questions/11295836/

相关文章:

sql - 存储过程返回的别名列 [SQL Server 2008]

variables - Makefile 字符串变量

sql - 减去 vs 删除 oracle 中存在的地方

php - Uniqid 每次返回相似的值

sql - 如何优化此 SQL 查询(使用索引)?

php - 如何通过PHP检测用户断开连接?

asp.net - 在 c# asp.net 中执行查询

groovy - Groovy 中的 JUnit @Before 方法排序

wpf - 在 XAML 中使用图像向按钮添加鼠标悬停效果

regex - 检查目录是否存在递归地反转路径