Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

String to Double

将字符串信号转换为双精度信号。

  • 库:
  • Simulink / String

  • String to Double block

说明

Scan String 扫描输入字符串并将其转换为符合 Format 参数指定格式的信号。该模块将值转换为其十进制(以 10 为基数)表示,并将结果作为数值或字符串信号输出。例如,如果 Format 参数设置为 "%s is %f.",则模块输出两个部分,即一个字符串信号和一个单精度信号。如果输入为字符串 "Pi is 3.14",则两个输出为 "Pi""3.14"

Scan StringString to DoubleString to Single 模块是相同的模块。为 String to Double 配置时,模块将输入字符串信号转换为双精度数值输出。为 String to Single 配置时,模块将输入字符串信号转换为单精度数值输出。

对于代码生成,通过选中 Configuration Parameters > Code Generation > Interface > Support non-finite numbers 复选框来配置包含此模块的模型,以支持非有限数。

端口

输入

全部展开

输入字符串,指定为标量。

数据类型: string

输出

全部展开

格式与指定格式匹配的输出数据,定义为标量。输出总数最大为 128。

如果模块不能将输入字符串与 Format 中指定的格式化操作符匹配,则会返回警告,并为每个不匹配的格式化操作符输出适当的值(0"")。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

格式与 %f 格式匹配的输出数据,指定为标量。输出总数最大为 128。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

格式与 N 格式匹配的输出数据,指定为标量。输出总数最大为 128。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

参数

全部展开

输入的格式化操作符,指定为标量。如果模块不能使输入字符串与指定格式匹配,则返回 0。该返回值 0sscanf 函数的返回值不同,对于后者,如果函数不能使输入与指定格式匹配,它返回的是空矩阵。

  • 对于 String to Double 模块,此参数的默认值为 %lf

  • 对于 String to Single 模块,此参数的默认值为 %f

有关可接受的格式化操作符的详细信息,请参阅“算法”部分。

模块特性

数据类型

double | integer | single | string

直接馈通

多维信号

可变大小信号

过零检测

算法

全部展开

Scan String 模块使用以下格式设定符原型:

%[width][length]specifier

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

在 R2018a 中推出