From: Andrea Zagli Date: Sun, 19 Dec 2010 11:15:14 +0000 (+0100) Subject: Aggiunto il parametro decimali alla funzione solipa_format_money. X-Git-Tag: Pre_EvolutionDataServer_2.32~12 X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=64c356f14857e2f0d0e11298c0801a48f5690db1;p=solipa%2Flibsolipa Aggiunto il parametro decimali alla funzione solipa_format_money. Alcune correzioni ai file header. --- diff --git a/src/allegato.h b/src/allegato.h index b26b9f0..4d0ba30 100644 --- a/src/allegato.h +++ b/src/allegato.h @@ -22,7 +22,7 @@ #include #include -#include +#include G_BEGIN_DECLS diff --git a/src/libsolipa.h b/src/libsolipa.h index 81b2379..a7c7ae7 100644 --- a/src/libsolipa.h +++ b/src/libsolipa.h @@ -22,5 +22,6 @@ #include #include #include +#include #endif /* __LIBSOLIPA_H__ */ diff --git a/src/mail.h b/src/mail.h index 348bce3..1cfbce2 100644 --- a/src/mail.h +++ b/src/mail.h @@ -24,7 +24,7 @@ #include -#include +#include G_BEGIN_DECLS diff --git a/src/utils.c b/src/utils.c index 3031c20..e0b9fb7 100644 --- a/src/utils.c +++ b/src/utils.c @@ -395,13 +395,16 @@ solipa_gtktreemodel_to_csv_gui (Solipa *solipa, GtkTreeModel *model, } gchar -*solipa_format_money (gdouble number, gboolean with_currency_symbol) +*solipa_format_money (gdouble number, + gint decimals, + gboolean with_currency_symbol) { gchar *ret; GRegex *regex; GError *error; + gchar *str_format; gchar *str; gssize str_len; @@ -422,7 +425,8 @@ gchar return ""; } - ret = g_strdup_printf ("%0.2f", number); + str_format = g_strdup_printf ("%%0%sf", decimals == 0 ? "" : (decimals < 0 ? ".2" : g_strdup_printf (".%d", decimals))); + ret = g_strdup_printf (str_format, number); while (TRUE) { @@ -442,6 +446,7 @@ gchar if (g_strcmp0 (ret, str) != 0) { ret = g_strdup (str); + g_free (str); } else { diff --git a/src/utils.h b/src/utils.h index c0a6cf4..3bac23d 100644 --- a/src/utils.h +++ b/src/utils.h @@ -21,7 +21,7 @@ #include -#include +#include G_BEGIN_DECLS @@ -42,7 +42,7 @@ void solipa_gtktreemodel_to_csv_gui (Solipa *solipa, GtkTreeModel *model, gchar **columns_title, guint n_columns); -gchar *solipa_format_money (gdouble number, gboolean with_currency_symbol); +gchar *solipa_format_money (gdouble number, gint decimals, gboolean with_currency_symbol); G_END_DECLS diff --git a/tests/utils_format_money.c b/tests/utils_format_money.c index 6a62da8..7c357ca 100644 --- a/tests/utils_format_money.c +++ b/tests/utils_format_money.c @@ -24,7 +24,7 @@ main (int argc, char *argv[]) { gtk_init (&argc, &argv); - g_message ("%s", solipa_format_money (g_strtod (argv[1], NULL), FALSE)); + g_message ("%s", solipa_format_money (g_strtod (argv[1], NULL), 3, FALSE)); return 0; }