Conversione formato numerico

6 views
Skip to first unread message

Michele Bassanini

unread,
Nov 8, 2016, 6:15:01 AM11/8/16
to yii...@googlegroups.com

Ciao a tutti,
abbiamo un database ORACLE con dei campi contabili.

Non riusciamo a farli vedere a yii2 come numeri con i decimali: se impostiamo il campo DB a FLOAT Yii2 li vede come float, ma senza decimali (arrotondando all'intero), se impostiamo il campo DB come NUMBER yii2 li vede come stringa.

Non riusciamo quindi a gestire l'interazione con il DB con numeri decimali,
avete suggerimenti?

Grazie,
Michele


-- 
Ing. Michele Bassanini
Area Tecnica Informatica
Servizio Automazione Gestionale
Università degli Studi di Pavia
Via Ferrata, 1
27100 Pavia - Italy
E-mail: michele....@unipv.it
tel: +39.0382.98.5285

Andrea Epifani

unread,
Nov 8, 2016, 6:56:20 AM11/8/16
to yii...@googlegroups.com
Nel db oracle come NUMBER, (tipo questi)
PUNTEGGIO_FINALE NUMBER(7,4)
PUNTEGGIO_PARZIALE1 NUMBER(7,4)
PUNTEGGIO_PARZIALE2 NUMBER(7,4)
PUNTEGGIO_PARZIALE3 NUMBER(7,4)

NELLE rules del model
array('PUNTEGGIO_FINALE,PUNTEGGIO_PARZIALE1,PUNTEGGIO_PARZIALE2,PUNTEGGIO_PARZIALE3', 'safe'),

nel codice:
(float)$this->PUNTEGGIO_FINALE

testato con yii1.16 + pdo-oci + oracle 11g.


--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "yii-it" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a yii-it+unsubscribe@googlegroups.com.
Per postare in questo gruppo, invia un'email a yii...@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/yii-it.
Per altre opzioni visita https://groups.google.com/d/optout.

Simone Gentili

unread,
Nov 8, 2016, 8:24:23 AM11/8/16
to yii...@googlegroups.com
In alternativa puoi trattare tutti i numeri come interi, memorizzando il valore in centesimi.
--
Simone (Demo) Gentili // PHP Web Developer

skype: rastagnolo
twitter:@sensorario
mobile: 3492893030

Michele Bassanini

unread,
Nov 8, 2016, 8:49:15 AM11/8/16
to yii...@googlegroups.com
Il problema è che utilizziamo dei widget per la manipolazione dei dati che non permettono di manipolare il valore prima di renderizzarlo e viceversa prima di salvarlo sul DB.
Siccome abbiamo tanti campi numerici ci era utile ad esempio una GridView con varie editableColumn in modo da modificare i valori senza cambiare schermata, ma i decimali non vengono considerati e questa cosa ci taglia un po' le gambe.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a yii-it+un...@googlegroups.com.

Per postare in questo gruppo, invia un'email a yii...@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/yii-it.
Per altre opzioni visita https://groups.google.com/d/optout.


-- 
Ing. Michele Bassanini
Area Tecnica Informatica
Servizio Automazione Gestionale
Università degli Studi di Pavia
Via Ferrata, 1
27100 Pavia - Italy
E-mail: michele....@unipv.it
tel: +39.0382.98.5285

Andrea Epifani

unread,
Nov 8, 2016, 9:35:26 AM11/8/16
to yii...@googlegroups.com

Puoi tranquillamente creare un virtual attribute che ti fa il cast in float.

Reply all
Reply to author
Forward
0 new messages