например. x = 12.354Извлечь цифры справа от десятичной точки
Я хочу получить 354 от x. Для этого я попробовал это уравнение,
у = х - пол (х)
Но это порождает 0,354, которое не мое требование.
Итак, как я могу это сделать?
например. x = 12.354Извлечь цифры справа от десятичной точки
Я хочу получить 354 от x. Для этого я попробовал это уравнение,
у = х - пол (х)
Но это порождает 0,354, которое не мое требование.
Итак, как я могу это сделать?
Родовая идеи, как указывал @JoachimPileborg выглядит в MATLAB:
x = 12.354;
str = num2str(x);
idx = find(str=='.');
substr = str(idx+1:end);
y = str2num(substr);
Спасибо, дорогая. – emtiajium
@ Emtiaj, пожалуйста, рассмотрите [принятие этого ответа] (http://meta.stackexchange.com/a/5235/287333), чтобы отметить его как разрешенный. –
Общее решение, которое должно работать со всеми языками программирования, состоит в том, чтобы преобразовать число в строку, затем взять подстроку из десятичной точки (или запятой) и преобразовать ее в целое число.
Альтернативы (возможно быстрее) М.З. ответ. Обратите внимание на «сдвиг» из-за этого подхода, эффективно удаляя нули справа от десятичной точки.
yfoo = 34.00267400;
yfoo = yfoo- floor(yfoo); % .00267400;
% internal rep of number ignores trailing zeros.
yrab = str2num(strrep(num2str(yfoo),'.','')); %2674
О, спасибо :) – emtiajium
Какой язык программирования вы используете? –
Мне нужно использовать MATLAB. Но я не знаю, как это сделать. Имеется ли пол в MATLAB? – emtiajium