use comma as decimal seperator
Mostrar comentarios más antiguos
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)
Respuesta aceptada
Más respuestas (6)
Daniel Shub
el 27 de Sept. de 2011
0 votos
You might want to check out this link:
TAB
el 27 de Sept. de 2011
0 votos
May be this can help you
Patrick
el 27 de Sept. de 2011
0 votos
1 comentario
Boris Povazay
el 17 de Jul. de 2023
Well, the opposite is true ... poor old imperial system and stubborn USA. 🤔
Adam
el 1 de Dic. de 2012
0 votos
Look there (just for function plots): http://frommyplayground.com/2012/12/decimal-comma-in-matlab-plots/
Daniel Gregorius
el 3 de Mayo de 2018
Editada: Daniel Gregorius
el 3 de Mayo de 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 comentarios
Stephen23
el 23 de Mzo. de 2019
x = str2double(strrep(get(handles.point,'String'),',','.'))
Or in a more general case:
x = str2double(strrep(str,',','.'))
Govind Narayan Sahu
el 19 de Jun. de 2022
This works perfectly fine for me. Short and simple.
Thanks a lot.
Johannes Kalliauer
el 30 de Nov. de 2020
writematrix(MyMatrix,filename,'Delimiter',';')
system(['exec sed -i "s/\./,/g" ',filename]);
Categorías
Más información sobre Text Files en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!