Click here to Skip to main content
14,084,762 members
Rate this:
Please Sign up or sign in to vote.
See more:
Hello again,
I was testing to truncate a value with how many decimals case i want.
Nice, i found a function that make this, but, use double, and i need to use float,
double is crashing everything with StackOverFlow errors that i can't fix.
And with float that works..
This is the code of the function.
double trunc(double value, int decimal_places){
    double integer = 0,fractional = 0,output = 0;
    int j = 0,places = 1;
    fractional = modf(value, &output);
    for( int i = 0; i < decimal_places + 1; i++ ){
        fractional = modf(fractional, &integer);
        for( j = 0; j < i; j++ ){
            places *= 10;
        output += integer / places;
        places = 1;
        fractional *= 10;
    return output;

Sergey Alexandrovich Kryukov 13-Dec-12 13:57pm
If double is "crashing everything" (due to your mistakes, apparently), so you are resorting to float? Very nice. I'll tell you this: with such attitude, consider your career of a software development is ended, no sense to continue. Or rethink it.
Good luck,
Thales Maggi 13-Dec-12 14:25pm
I'm out of time to stay fixing little problems, just a work to univesity, so if you don't came to help, dont sh*t my question. Thank you.
pwasser 13-Dec-12 21:21pm
SA may have a point. Where is your OWN code?
Thales Maggi 13-Dec-12 21:25pm
Yess! I forgot to say that! That function isn't mine! I asked help to my teacher, and he sent me a email. Obviously he found at somewhere. I found my answer, thanks!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Cookies | Terms of Service
Web01 | 2.8.190518.1 | Last Updated 13 Dec 2012
Copyright © CodeProject, 1999-2019
All Rights Reserved.
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100