Numero Formattato
Moderatore: Moderatori
-
- Messaggi: 58
- Iscritto il: sabato 7 aprile 2007, 2:00
Scusa ho sbagliato la funzione è "ImportoMoneta2"permax ha scritto: Anch'io ho notato che con i numeri negativi la funzione "FormattedNumber" da i numeri.
La "FormattedNumber" funziona perfettamente ma vorrei chiedere se è possibile far apparire sempre due zeri decimali anche quando il numero non ha decimali.
Grazie
Filemaker Pro Advanced 9 - Windows Xp Professional SP2
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
Per adesso modifica la funzione personalizzata con questa:
Avrai SEMPRE 2 decimali...e proprio per questo ho detto "per adesso"...
Infatti conviene inserire un altro parametro nella funzione in modo da poter decidere se e quanti decimali vogliamo.
Ma questo avverrà nella versione Premium
Codice: Seleziona tutto
/*
FormattedNumber custom function
Author:
Daniele Raybaudi
Format:
FormattedNumber ( number ; thousandSep ; color )
Parameters:
number - any number or number field
thousandSep - the your choice thousand separator (decimal separator is given by your system settings)
color - boolean number - if the number is a negative one and this parameter is ≠ 0, the result will be red writed
Returns any gived number as a number formatted with thousand and decimal separators.
Also you can choose to dispay the result in red if the number is a negative one.
Better than other custom functions because this isn't limited to some separators and don't need sub custom.
March 16, 2006
August 30, 2007 : modified version for 2 decimals
*/
Let ([
negative = If ( Sign ( number ) = - 1 ; 1 ; 0 );
num = Abs ( number );
int = Int ( num );
dec = If ( num - int ; Left ( num - int & "00" ; 3 ); Left ( 1/10 ^ 3 ; 3 ) ) ;
len = Length ( int );
tris =
Case (
len > 3 ; thousandSep & Right ( int ; 3 ) & dec;
len ≤ 3 ; Right ( int ; len ) & dec
);
next = Left ( int ; len - 3 );
result = Case (
len ; FormattedNumber ( next ; thousandSep ; color ) & tris ;
""
)
];
Case (
negative and color ; TextColor ( "-" & result; RGB ( 255 ; 0 ; 0 ) );
negative ; "-" & result;
result
)
)
Infatti conviene inserire un altro parametro nella funzione in modo da poter decidere se e quanti decimali vogliamo.
Ma questo avverrà nella versione Premium

Raybaudi FMP 12 Adv. Windows XP SP3
-
- Messaggi: 196
- Iscritto il: domenica 12 novembre 2006, 1:00
- Località: Caserta
scusate se approfitto di questo topic per chieder una mano su qualcosa che cmq mi sembra attinente.raybaudi ha scritto:Per adesso modifica la funzione personalizzata con questa:
Avrai SEMPRE 2 decimali...e proprio per questo ho detto "per adesso"...Codice: Seleziona tutto
/* FormattedNumber custom function Author: Daniele Raybaudi Format: FormattedNumber ( number ; thousandSep ; color ) Parameters: number - any number or number field thousandSep - the your choice thousand separator (decimal separator is given by your system settings) color - boolean number - if the number is a negative one and this parameter is ≠ 0, the result will be red writed Returns any gived number as a number formatted with thousand and decimal separators. Also you can choose to dispay the result in red if the number is a negative one. Better than other custom functions because this isn't limited to some separators and don't need sub custom. March 16, 2006 August 30, 2007 : modified version for 2 decimals */ Let ([ negative = If ( Sign ( number ) = - 1 ; 1 ; 0 ); num = Abs ( number ); int = Int ( num ); dec = If ( num - int ; Left ( num - int & "00" ; 3 ); Left ( 1/10 ^ 3 ; 3 ) ) ; len = Length ( int ); tris = Case ( len > 3 ; thousandSep & Right ( int ; 3 ) & dec; len ≤ 3 ; Right ( int ; len ) & dec ); next = Left ( int ; len - 3 ); result = Case ( len ; FormattedNumber ( next ; thousandSep ; color ) & tris ; "" ) ]; Case ( negative and color ; TextColor ( "-" & result; RGB ( 255 ; 0 ; 0 ) ); negative ; "-" & result; result ) )
Infatti conviene inserire un altro parametro nella funzione in modo da poter decidere se e quanti decimali vogliamo.
Ma questo avverrà nella versione Premium
Ho molti campi che devo compilare con le diottrie degli occhiali - esempio -0.25 -0.50 oppure +0.25 +0.50 ecc.
la particolarità e che devo sempre e dico sempre inserire valori multipli di 0,25 sia con il segno meno che con il segno + ; quindi non avrò mai un 0,35 o 0,45.
qualche consiglio su come procedere?? preferirei che i campi fossero di tipo numerico per poi eventualmente fare dei calcoli.
grazie a tutti
FILEMAKER 12 - win7
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
Ti crei una lista valori personalizzata e la colleghi a tutti quei campi.loziofester ha scritto:...
Ho molti campi che devo compilare con le diottrie degli occhiali - esempio -0.25 -0.50 oppure +0.25 +0.50 ecc.
la particolarità e che devo sempre e dico sempre inserire valori multipli di 0,25 sia con il segno meno che con il segno + ; quindi non avrò mai un 0,35 o 0,45.
Raybaudi FMP 12 Adv. Windows XP SP3
-
- Messaggi: 196
- Iscritto il: domenica 12 novembre 2006, 1:00
- Località: Caserta
è una soluzione fattibile ma non percorribile - diverrebbe una lista lunghissimaraybaudi ha scritto:Ti crei una lista valori personalizzata e la colleghi a tutti quei campi.loziofester ha scritto:...
Ho molti campi che devo compilare con le diottrie degli occhiali - esempio -0.25 -0.50 oppure +0.25 +0.50 ecc.
la particolarità e che devo sempre e dico sempre inserire valori multipli di 0,25 sia con il segno meno che con il segno + ; quindi non avrò mai un 0,35 o 0,45.
si parte da 0.00 -0,25 -0,50 fino a -30,00 e lo stesso per i valori positivi
FILEMAKER 12 - win7
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
-
- Messaggi: 196
- Iscritto il: domenica 12 novembre 2006, 1:00
- Località: Caserta
vorri un controllo sull'immissione dei dati in modo che non accetti valori che non siano multipli di 0,25 - sia che li inserisco con il segno meno sia che li inserisco con il segno +.raybaudi ha scritto:Allora non ho capito quale era il problema che necessitava di un consiglio...loziofester ha scritto: qualche consiglio su come procedere??
Quale era il problema ?
Qundi potro scrivere +0.25 / +0.50 ma non 0.55 0.37 1.29 ecc ecc.
FILEMAKER 12 - win7
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
-
- Messaggi: 196
- Iscritto il: domenica 12 novembre 2006, 1:00
- Località: Caserta
campo numerio chiamato cylODxraybaudi ha scritto:Inserisci nelle opzioni di verifica di quel campo il seguente calcolo:
Mod ( tuoCampoNumero ; 0,25 ) = 0
in questo campo nelle opzioni di verifica devo mettere la tua formula??
devo mettere il segno di spunta su "in questo campo convalida sempre" ??
se si -non mi funziona - se metto +0.44 o un qualsiasi altro valore non mi segnala nessun errore
FILEMAKER 12 - win7