use comma as decimal seperator
Ältere Kommentare anzeigen
Hi,
i have a simple question and this is my last try, as i've been searching the web all morning:
Is there a way to use comma as decimal seperator instead of a period/dot in matlab?
Even maybe only in figures/axis format?
Thanks, any help is gratefully appreciated!
ps: i set the reagional settings in Windows/MacOS (using both) to German (--> Comma)
Akzeptierte Antwort
Weitere Antworten (6)
Daniel Shub
am 27 Sep. 2011
0 Stimmen
You might want to check out this link:
TAB
am 27 Sep. 2011
0 Stimmen
May be this can help you
Patrick
am 27 Sep. 2011
0 Stimmen
1 Kommentar
Boris Povazay
am 17 Jul. 2023
Well, the opposite is true ... poor old imperial system and stubborn USA. 🤔
Adam
am 1 Dez. 2012
0 Stimmen
Look there (just for function plots): http://frommyplayground.com/2012/12/decimal-comma-in-matlab-plots/
Daniel Gregorius
am 3 Mai 2018
Bearbeitet: Daniel Gregorius
am 3 Mai 2018
Hey. When dealing with this problem, this is what I came up with. It's an extract of a GUI. People kept entering values with comma (,) instead of a point (.) and then it didn't work so I thought of the following code, that seems to work. I am still not sure if I have thought of everything and this is probably alot more complicated than it should be. Hopefully this still helps. It basically converts input with comma as decimal seperator into a value seperated by decimal point.
x=str2num(get(handles.point,'String'));%get point - everything alright if the delimiter is a .
if size(x,2)>1 %it's not a . but a ,
strx=get(handles.point,'String'); %need to check for sign
splitstrx=strsplit(a1,','); %try to extract length of 2nd string, divide x(2) by 10^strlength
if strx(1)=='-'
x=x(1)-x(2)/10^strlength(splitstrx(1,2)); %it's negative, need to substract 2nd string
else
x=x(1)+x(2)/10^strlength(splitstrx(1,2)); %it's positive
end
end
2 Kommentare
Stephen23
am 23 Mär. 2019
x = str2double(strrep(get(handles.point,'String'),',','.'))
Or in a more general case:
x = str2double(strrep(str,',','.'))
Govind Narayan Sahu
am 19 Jun. 2022
This works perfectly fine for me. Short and simple.
Thanks a lot.
Johannes Kalliauer
am 30 Nov. 2020
writematrix(MyMatrix,filename,'Delimiter',';')
system(['exec sed -i "s/\./,/g" ',filename]);
Kategorien
Mehr zu Text Files finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!