Come ho capito dalla disponibilità Android Resource types, non esiste un modo semplice per utilizzare i valori float come risorse, a meno che non si utilizzino alcuni hack come quello menzionato in here. C'è qualche convenzione o qualcosa per questo?Float Android/doppio tipo di risorsa
risposta
Basta salvare il doppio come una risorsa stringa
<string name="some_decimal">0.12154646</string>
E poi basta analizzare che nel vostro codice come questo
double some_decimal = Double.parseDouble(context.getString(R.string.some_decimal));
È inoltre possibile creare il proprio tipo di valori delle risorse e ottenere da ci piace questo
<item name="some_decimal" type="vals" format="float">2.0</item>
e quindi ottenere in questo modo
012.Ma è impossibile ottenere i duplicati come questo e inoltre penso che sia meno performante rispetto alla semplice analisi di una risorsa stringa, quindi preferisco la mia prima opzione.
Attenzione! Non recuperare tali stringhe con "getResources(). GetString (R.string.YourStringTag)", questo restituirà "Experimental" come stringa. – Dexter
No, non esiste un tipo di risorsa diretto per float/double.
Ma sì, ci sono due hack per farlo.
1) In dimens.xml
<item name="float" type="dimen" format="float">9.52</item>
Riferimento da Java
TypedValue typedValue = new TypedValue();
getResources().getValue(R.dimen.my_float_value, typedValue, true);
float myFloatValue = typedValue.getFloat();
E in secondo luogo è come Bojan e Haresh suggerito, Per utilizzare il valore come stringa e analizzarlo nel codice a runtime.
- 1. Riguardo tipo float precisione
- 2. Tipo di annuncio SQL di tipo Float to String (Excel)
- 3. default argomento di tipo float = senza senso
- 4. Risorsa prevista di tipo animatore [ResourceType]
- 5. Riferimento risorsa di tipo stringa dal codice
- 6. Clojure^float vs. #^float?
- 7. Conversione di una stringa in un tipo di dati float
- 8. Entity Framework associa il tipo di dati float in double
- 9. Trasmissione di tipo Java - float (e long) a int
- 10. C#/IronPython Interop e il tipo di dati "float"
- 11. Portabilità della serializzazione binaria di tipo double/float in C++
- 12. tipo/i di operando non supportato per *: 'float' e 'Decimal'
- 13. Conversione SQL tipo di colonna da float a varchar
- 14. Javascript Float + Float = String?
- 15. PHP/GD - Ricerca del tipo di risorsa immagine
- 16. Errore: risorsa prevista di tipo carattere [ResourceType] errore
- 17. Risoluzione Descrizione Percorso risorsa Posizione Errori di tipo
- 18. Python float - str - float weirdness
- 19. DCC Suggerimento: H2161 Avviso: risorsa duplicata: tipo 24 (definito dall'utente), ID 1; Risorsa file ... mantenuta; file ... \ Risorsa WindowsXP.res scartata
- 20. valore massimo per il tipo float in C#
- 21. Come convertire std: wstring in tipo numerico (int, long, float)?
- 22. Gli array float, float [] e double [] diversi, o lo stesso?
- 23. Java: dovrei usare float o float?
- 24. Memorizzazione di due valori float in una variabile float singola
- 25. Ricerca di una libreria half float o quarter float
- 26. 32651: confronto ERROR di Float with Float failed ruby
- 27. In corrente C++ e Java, doppio tipo e tipo float: if (x == 0.0) è corretto?
- 28. Crea Spark DataFrame. Impossibile inferire lo schema per il tipo: <tipo 'float'>
- 29. Con Chef, come eseguire "risorsa 1" prima di "risorsa 2", condizionale all'esecuzione di "risorsa 2"?
- 30. Risorsa di completamento Zsh?
provare a definire float o double come stringa e convertirlo in appropriato in fase di esecuzione. –
Android può fornire valori di tipo Integer o Boolean come descritto, ma perché esistono valori di tipo specifici come Integer o Boolean ma non Float? qual è il motivo? – Pooya
Check out: http://stackoverflow.com/questions/29967258/typedarray-is-empty-after-obtaintypedarray-call/29968037#29968037 –