gnucash maint: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Sun Apr 5 17:43:33 EDT 2020


Updated	 via  https://github.com/Gnucash/gnucash/commit/640171c2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4a8350ec (commit)
	from  https://github.com/Gnucash/gnucash/commit/8ccc1579 (commit)



commit 640171c21106785e8729326d94382c45ee9048b5
Merge: 8ccc1579d 4a8350ece
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Apr 5 14:38:46 2020 -0700

    Merge Jean Laroche's '797318_MRO' into maint.


commit 4a8350ece2074219c559bea6339f05392dd3d618
Author: jean <you at example.com>
Date:   Sat Apr 4 13:04:37 2020 -0700

    797318 - Amounts ending in zero displayed as fractions

diff --git a/libgnucash/app-utils/gnc-ui-util.c b/libgnucash/app-utils/gnc-ui-util.c
index 3ff97e105..682437809 100644
--- a/libgnucash/app-utils/gnc-ui-util.c
+++ b/libgnucash/app-utils/gnc-ui-util.c
@@ -1605,7 +1605,9 @@ PrintAmountInternal(char *buf, gnc_numeric val, const GNCPrintAmountInfo *info)
         *buf = '\0';
         return 0;
     }
-
+    
+    // Value may now be decimal, for example if the factional part is zero
+    value_is_decimal = gnc_numeric_to_decimal(&val, NULL);
     /* print the integer part without separators */
     sprintf(temp_buf, "%" G_GINT64_FORMAT, whole.num);
     num_whole_digits = strlen (temp_buf);
diff --git a/libgnucash/engine/gnc-numeric.cpp b/libgnucash/engine/gnc-numeric.cpp
index 4e4250fdb..f9af38878 100644
--- a/libgnucash/engine/gnc-numeric.cpp
+++ b/libgnucash/engine/gnc-numeric.cpp
@@ -1073,6 +1073,7 @@ gnc_numeric_to_decimal(gnc_numeric *a, guint8 *max_decimal_places)
 {
     int max_places =  max_decimal_places == NULL ? max_leg_digits :
         *max_decimal_places;
+    if (a->num == 0) return TRUE;
     try
     {
         GncNumeric an (*a);



Summary of changes:
 libgnucash/app-utils/gnc-ui-util.c | 4 +++-
 libgnucash/engine/gnc-numeric.cpp  | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)



More information about the gnucash-changes mailing list