]> Shamusworld >> Repos - architektonas/blob - src/base/rs_utility.cpp
6d3d6c975e6f42b4bbb0768cc8d7fff368b75fff
[architektonas] / src / base / rs_utility.cpp
1 /****************************************************************************
2 ** $Id: rs_utility.cpp 1648 2003-06-11 06:56:01Z andrew $
3 **
4 ** Copyright (C) 2001-2003 RibbonSoft. All rights reserved.
5 **
6 ** This file is part of the qcadlib Library project.
7 **
8 ** This file may be distributed and/or modified under the terms of the
9 ** GNU General Public License version 2 as published by the Free Software
10 ** Foundation and appearing in the file LICENSE.GPL included in the
11 ** packaging of this file.
12 **
13 ** Licensees holding valid qcadlib Professional Edition licenses may use
14 ** this file in accordance with the qcadlib Commercial License
15 ** Agreement provided with the Software.
16 **
17 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
18 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19 **
20 ** See http://www.ribbonsoft.com for further details.
21 **
22 ** Contact info@ribbonsoft.com if any conditions of this licensing are
23 ** not clear to you.
24 **
25 **********************************************************************/
26
27 #include "rs_utility.h"
28
29 /**
30  * Converts a double to a string cutting away unnecessary 0's.
31  * e.g. 2.70000  -> 2.7
32  */
33 QString RS_Utility::doubleToString(double value, int precision/*= 6*/)
34 {
35         QString ret;
36
37         ret.setNum(value, 'f', precision);
38
39         if (ret.contains('.'))
40         {
41                 // remove trailing zeros:
42                 while (ret.at(ret.length() - 1) == '0')
43                 {
44                         ret.truncate(ret.length() - 1);
45                 }
46
47                 // remove trailing .
48                 if (ret.at(ret.length() - 1) == '.')
49                 {
50                         ret.truncate(ret.length() - 1);
51                 }
52         }
53
54         return ret;
55 }