Hi All,
Just wondering how I can fill an column in a matrix with 00. Matlab automatically truncates to 0. I have the doublezero sprintf but this obviously is in the wrong format, i'd probably have to get it in integer form before I can insert it in an array called sec. But getting it in integer format truncates the value to a single 0. I looked around in the different formats but can't figure out which one to use.
doublezero = sprintf('%02d',0);
sec(1:60,1) = doublezero ;
str2doublezero = str2double(doublezero)
Thanks!

1 Kommentar

Stephen23
Stephen23 am 5 Jun. 2018
Bearbeitet: Stephen23 am 5 Jun. 2018
Numeric data classes do not store any formatting information whatsoever, so it is not possible to store leading zeros like this in a numeric array. As far as all numeric classes are concerned, 0==00==00000...
You could either store a char/string, or store the required number of digits in a separate variable. Note that storing numeric values as text usually makes code very complex and inefficient.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Jan
Jan am 5 Jun. 2018

0 Stimmen

This is not possible. If sec should be a numerical array, that 00 is not meaningful - there is no such number and leading zeros are removed in general. Two zeros are meaningful as a string only. This is either a modern string object or a vector of type char:
c = '00';
s = "00"
If you need an array, this can be implemented as string vector, as char matrix or cell string: a cell containing char vectors:
sec = cell(60, 1);
sec(:) = {'00'}
But most likely storing seconds as numbers is much more useful. Then you insert the leading zero by sprintf only, if you want to convert it for a text output. Computations are much easier with numerical data.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2016b

Gefragt:

am 5 Jun. 2018

Bearbeitet:

am 5 Jun. 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by