Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-04-2009, 09:22   #1
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
[C/C++] float to char[] - locale

No, non sono alle prime armi cercando la funzione che converte da float a char[]

Il problema è questo:

Codice:
	double Freq = GetFrequency( m_Channel );
	sprintf( sFreq, "%06.03lf", Freq );
l'output di sFreq è:
Quote:
30,000
E questo perchè lavoro in Germania quindi la sprintf prende il locale ... locale e mette la virgola al posto del punto.

Come posso risolvere senza troppi giri strani ?
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2009, 09:41   #2
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Vabbè, ho risolto così:

Codice:
	double Freq = GetFrequency( m_Channel );
	stringstream sstr;
	sstr << Freq;

Però se qualcuno ha alternative ben vengano, 'sta storia del locale con sprintf mi è nuova.
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2009, 09:43   #3
slartibartfast
Senior Member
 
L'Avatar di slartibartfast
 
Iscritto dal: May 2005
Messaggi: 564
Che compilatore usi?
Ho provato sia con LCC che con GCC e mi da il separatore correttamente con il punto.
Al limite puoi, con una funzione tipo strchr, a sostituire la virgola con il punto successivamente.
slartibartfast è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2009, 10:08   #4
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da slartibartfast Guarda i messaggi
Che compilatore usi?
Ho provato sia con LCC che con GCC e mi da il separatore correttamente con il punto.
Al limite puoi, con una funzione tipo strchr, a sostituire la virgola con il punto successivamente.
Si ma tu non hai un server tedesco perchè il problema è quello, il locale.
Infatti il bug è sorto adesso che stiamo andando in beta ed installando i programmi nelle varie macchine ed un server è in crucco.

Comunque ho risolto in un altro modo: all'inizio del programma setto il locale con
Codice:
setlocale( LC_ALL , "C" );
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2009, 10:13   #5
slartibartfast
Senior Member
 
L'Avatar di slartibartfast
 
Iscritto dal: May 2005
Messaggi: 564
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Si ma tu non hai un server tedesco perchè il problema è quello, il locale.
Infatti il bug è sorto adesso che stiamo andando in beta ed installando i programmi nelle varie macchine ed un server è in crucco.

Comunque ho risolto in un altro modo: all'inizio del programma setto il locale con
Codice:
setlocale( LC_ALL , "C" );
Che c'entra, anche il locale italiano prevede la virgola come quello tedesco.
slartibartfast è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2009, 10:15   #6
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da slartibartfast Guarda i messaggi
Che c'entra, anche il locale italiano prevede la virgola come quello tedesco.
Non sapevo ... sei sicuro ?

edit: comunque uso gcc
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2009, 11:10   #7
BrutPitt
Senior Member
 
L'Avatar di BrutPitt
 
Iscritto dal: Mar 2009
Città: Bologna
Messaggi: 1174
Confermo che il separatore italiano e' la "," ... pero' non vorrei dire fesserie, ma mi sembra di ricordare che il default startup per un'applicazione C sia gia':

setlocale(LC_ALL, "C");

(a meno che qualcuno non chiami altrove, dentro al programma, una setlocale)

Per cui magari controlla e vedi se sia il caso di fare un salvataggio e ripristino piu' o meno cosi':


char *loc = setlocale(LC_NUMERIC, NULL);
setlocale(LC_NUMERIC, "C");

//stampi

setlocale(LC_NUMERIC, loc);


(se devi agire semplicemente sul separatore numerico: LC_NUMERIC
cosi' gli altri settaggi, LC_MONETARY, LC_TIME... etc... rimangono quelli settati da sistema.)


O puoi anche settare a livello di envionment LC_NUMERIC="C" e poi chiamare:

setlocale(LC_NUMERIC, "");
BrutPitt è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2009, 13:06   #8
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da BrutPitt Guarda i messaggi
Confermo che il separatore italiano e' la "," ... pero' non vorrei dire fesserie, ma mi sembra di ricordare che il default startup per un'applicazione C sia gia':

setlocale(LC_ALL, "C");

(a meno che qualcuno non chiami altrove, dentro al programma, una setlocale)

Per cui magari controlla e vedi se sia il caso di fare un salvataggio e ripristino piu' o meno cosi':


char *loc = setlocale(LC_NUMERIC, NULL);
setlocale(LC_NUMERIC, "C");

//stampi

setlocale(LC_NUMERIC, loc);


(se devi agire semplicemente sul separatore numerico: LC_NUMERIC
cosi' gli altri settaggi, LC_MONETARY, LC_TIME... etc... rimangono quelli settati da sistema.)


O puoi anche settare a livello di envionment LC_NUMERIC="C" e poi chiamare:

setlocale(LC_NUMERIC, "");
Ma non serve ripristinare perchè la setlocale agisce solo a livello di programma.
Comunque grazie delle info
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2009, 13:37   #9
BrutPitt
Senior Member
 
L'Avatar di BrutPitt
 
Iscritto dal: Mar 2009
Città: Bologna
Messaggi: 1174
Si, ovvio... infatti parlavo a livello di programma.

Non conoscendo la "grandezza" del tuo programma e se ci lavoravi solo tu o se era un lavoro a piu' mani.

BrutPitt è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
Samsung lavora al Privacy Display v2: sa...
SBS presenta i nuovi accessori Track Fir...
Castlevania: Belmont's Curse, la caccia ...
Nuova promozione Amazon Haul: 5% di scon...
Netflix taglia circa mille posti di lavo...
Bodywel F20PRO a 759€: e-bike pieghevole...
iPhone Duo, senza AppleCare+ riparare lo...
Amazon, offerte da non perdere oggi: Mac...
1.500 km con una ricarica: CATL e Changa...
Rockstar Games punta a ridurre i tempi d...
Accessori auto su Amazon da 22€: aspirab...
Oltre 436 km senza ricaricare: questa mo...
Samsung Health si aggiorna: il coaching ...
XBOX Nano Controller: il nuovo gamepad c...
MSI diversifica il suo business: con EVS...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:19.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v