double zero 00 fill in array
16 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaire
Stephen23
le 5 Juin 2018
Modifié(e) : Stephen23
le 5 Juin 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.
Réponse acceptée
Jan
le 5 Juin 2018
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.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Characters and Strings dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!