【发布时间】:2014-12-05 18:00:36
【问题描述】:
我的任务是修复其他人编写的 matlab 程序中的错误,并且在列表框中显示 7 位序列号时遇到问题。我从数据库中获取数字并提取数字,但不是在列表框控件中显示序列号 4800801,而是以科学计数法显示。
这里是代码
statement = 'select product_serial_number from master_product where status = 109 order by product_serial_number ASC';
curs = exec(conn, statement);
curs = fetch(curs);
if strcmp(curs.Data,'No Data') == 0
handles.matrix(1:length(cell2mat(curs.Data)),1) = cell2mat(curs.Data);
end
handles.BasePre2Data = curs.Data;
set(handles.ListBasePreBuild2,'String',handles.BasePre2Data);
r = cellfun(@isnumeric, curs.Data);
if mean(r) == 1
set(handles.TextBoxBasePreBuild2Total,'String',num2str(length(handles.BasePre2Data)));
else
set(handles.TextBoxBasePreBuild2Total,'String','0');
handles.BasePre2Data = [];
end
我是 matlab 新手,所以我不确定如何将输出格式化为所有 7 位数字。
【问题讨论】:
-
我不知道您的代码中的哪个数字有问题。如果你使用 sprintf('%.0f',YourNumberHere) 会怎样?
-
我不熟悉 MATLAB 中的列表框。如果您有一些矩阵
M想要读取为整数而不是浮点数/科学记数法,您可以使用M_integer = cast(M,'uint32')。我不确定您会在代码中的哪个位置应用它。哪个变量代表序列号?
标签: matlab