MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by DSP Masters
on 16 Nov 2011

Hi, Please help me in seperating fractional and decimal part in a real number. For example: If the value is '1.23', I need to seperate decimal part '1' and 'fractional part '0.23'.

Thanks and regards, soumya..

*No products are associated with this question.*

Answer by Naz
on 16 Nov 2011

Accepted answer

number=1.23; integ=floor(number); fract=number-integ;

Walter Roberson
on 16 Nov 2011

That fails on negative numbers. For negative numbers, you need fract=number-ceil(number)

Answer by Resam Makvandi
on 26 Dec 2012

i think the better way is to use: number = 1.23; integ = fix(number); fract = abs(number - integ);

it works for both negative and positive values.

## 2 Comments

## Jan Simon (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/21339#comment_46396

Are you talking of numbers or strings? The quotes in '1.23' might be misleading.

## Jerry Gregoire (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/21339#comment_103137

Jan Its my pet peeve when a poster poses a question and it is responded to with another unnecessary question. Yes, in Matlab syntax, '0.23' indicates a string, but it is really obvious that he meant 0.23. I guess my wish to responders is simply, 'Just answer the question already' !!