Ottimizzare un EA e ottenere il meglio di quelli ottimizzati. - pagina 49

 
Georgiy Merts:

A proposito, un membro di un altro forum ci ha pensato più e più volte, e ha richiesto tutti i suoi 9 codici.

Ho il sospetto che dopo un po' di tempo - continuerà ad aiutare nella TC League.

Penso che la sua decisione dipenderà dal rendimento dei consiglieri.

 
Georgiy Merts:

Alexei, come posso fare per te?

Per l'output su un file - uso le stringhe. E per trasformare il doppio in stringa - funzione standard (DoubleToString()).

Se per delimitare un elemento della lista - potrei fare un campo speciale (o stringa, o booleano), scrivo i delimitatori esplicitamente in un file, allora cosa dovrei fare con le funzioni standard?

A meno che non forziate un punto decimale ad essere sostituito da una virgola prima dell'output nel file - ma siete sicuri che sia la soluzione giusta?

Esattamente - cercate un punto fermo nella stringa prima di inviarla al file e cambiatela con una virgola!

Sono sicuro che la maggior parte delle persone nella RF aprirà il file normalmente in excel in questo modo, e non scriverà le date al posto dei numeri.

 
Aleksey Vyazmikin:

Proprio così - cercate un punto fermo nella linea prima dell'output nel file e cambiatelo con una virgola!

Sono sicuro che la maggior parte delle persone nella RF avrà il file aperto normalmente in Excel in questo modo, piuttosto che scrivere le date al posto dei numeri.

Quindi pensa che io non faccia parte della maggioranza? Il mio file di statistiche si apre in excel senza problemi, e il punto decimale viene percepito esattamente come un punto decimale.

E tu, allora, pensi che al posto del punto decimale nel separatore decimale dovrebbe esserci una virgola? Sembra che tu stia dicendo qualcosa di sbagliato, Alexei...

Ma, il problema è piccolo, e personalmente per voi - farò una versione speciale degli esperti, in cui sostituirò un punto fermo con una virgola.

Tra qualche giorno - ora sto finalizzando alcune classi della mia biblioteca.

 
Aleksey Vyazmikin:
45 codici.
 
Georgiy Merts:

Quindi lei pensa che io non faccia parte della maggioranza? Il mio file di statistiche si apre in Excel senza alcun problema, e il punto decimale viene percepito come un punto decimale.

E tu, allora, pensi che al posto del punto decimale nel separatore decimale dovrebbe esserci una virgola? Sembra che tu stia dicendo qualcosa di sbagliato, Alexei...

Ma, il problema non è grande, e personalmente per voi - farò una versione speciale di esperti, in cui sostituirò un punto decimale con una virgola.

Tra qualche giorno - ora sto finalizzando alcune classi della mia biblioteca.

Non lo fate per me, ma per la maggioranza - io non sono il pubblico, che deve essere interessato al progetto.

Sto parlando della maggioranza basata su un campione di persone che lavorano negli uffici delle aziende, che lavorano con i numeri dal manager al contabile.

 
Aleksey Vyazmikin:

Non lo fai per me, ma per la maggioranza - non sono il pubblico che si interessa al progetto.

Sto parlando della maggioranza basata su un campione di persone che lavorano negli uffici delle aziende, che lavorano con i numeri dal manager al contabile.

Beh, anch'io lo sono di loro - e non ho mai visto una virgola usata come punto decimale. Ha lavorato molto con i contabili. È vero, le mie informazioni sono vecchie di un decennio o più. Forse qualcosa è cambiato ora?

Inoltre - penso che ci sarebbero stati dei thread sul forum molto tempo fa che DoubleToString() - dovrebbe restituire un delimitatore di virgola. (Anche se, in senso buono, dovrebbe restituire separatore, che è prescritto in locale). Ma non ricordo tali argomenti.

Sei sicuro che per la maggior parte delle persone il separatore decimale è una virgola, non un punto decimale?

 
Georgiy Merts:

Beh, è quello che voglio dire - e non ho mai visto una virgola usata come punto decimale. Ha lavorato molto con i contabili. Davvero, le mie informazioni sono vecchie di un decennio o più. Forse qualcosa è cambiato ora?

Inoltre - penso che ci sarebbero stati dei thread sul forum molto tempo fa che DoubleToString() - dovrebbe restituire un delimitatore di virgola. (Anche se, in senso buono, dovrebbe restituire separatore, che è prescritto in locale). Ma non ricordo tali argomenti.

Sei sicuro che per la maggior parte delle persone, il separatore decimale è una virgola e non un punto decimale?

Ti ho già scritto della mia fiducia, che viene dalla mia esperienza, non sono un garante dei pensieri e delle abitudini delle persone - ti ho detto i fatti della mia esperienza.

Ti dirò di più che la tastiera numerica (quella a destra di quella alfabetica - il totale), il layout russo quando premi un punto (Del) dà una virgola, ed è uno strumento che la gente usa quando lavora con i numeri.

 
Aleksey Vyazmikin:

Vi ho già scritto della mia fiducia, che viene dalla mia esperienza, non sono un garante dei pensieri e delle abitudini delle persone - ho detto i fatti della mia esperienza.

Ti dirò di più, che la tastiera numerica (quella a destra di quella alfabetica - comune), nel layout russo quando premi un punto (Del) dà una virgola, e questo è lo strumento che la gente usa quando lavora con i numeri.

Sì, è vero, è l'unico tasto che uso per inserire i numeri.

E ho un simbolo su questo tasto - a seconda del layout.

Quando accendo il russo, non posso mettere una virgola da nessuna parte con questo tasto. Ho messo un punto decimale ovunque.

Anche se, quando sono passato all'inglese, la metà dei programmi visualizza una virgola (anche se Excel produce un punto decimale in entrambi i layout).

Naturalmente, lafunzione DoubleToString() dovrebbe guardare il locale e mettere quel delimitatore di parti intere e frazionarie, che è scritto lì. Ma il fatto che questa funzione usi il punto decimale, mi dice che la maggior parte delle persone assume che il separatore della parte frazionaria debba essere un punto decimale.

Ma il problema è inverosimile - farò una virgola per voi, e questa caratteristica rimarrà nel codice. Se qualcuno lo chiede, lo avrà anche lui.

 
Georgiy Merts:

Sì, sì, uso questi tasti solo per inserire i numeri.

E ho un simbolo su questo tasto - dipende dal layout.

Quando accendo il russo, non posso mettere una virgola da nessuna parte con questo tasto. Ho messo un punto decimale ovunque.

Anche se, quando sono passato all'inglese, la metà dei programmi visualizza una virgola (anche se Excel produce un punto decimale in entrambi i layout).

Naturalmente, a proposito, lafunzione DoubleToString() dovrebbe guardare il locale, e mettere quel delimitatore di parte intera e parte frazionaria, che è prescritto lì. Ma il fatto che questa funzione usi un punto decimale, mi dice che la maggior parte delle persone assume che il separatore della parte frazionaria debba essere un punto decimale.

Ma il problema è inverosimile - farò una virgola per voi, e questa caratteristica rimarrà nel codice. Se qualcuno lo chiede, lo avrà anche lui.

A proposito, l'uomo qui ha avuto lo stesso problema, ed era solo con MThttps://habr.com/post/138957/ . Ha appena detto che il punto è un delimitatore anglofono, mentre la virgola è più vicina alla Russia.

Comunque, è così, grazie per aver fatto le virgole!

То, что нужно помнить о десятичном разделителе
То, что нужно помнить о десятичном разделителе
  • 2027.02.12
  • habr.com
Все, кто когда-либо писали программы на C#, использовали такую простую функцию как у меня, как и у остальных, до определенного момента никаких проблем с ней не возникало. У этой функции есть такая особенность, которая не всем известна — это то, что разделитель по умолчанию используется тот, который стоит в системе. В англоязычных странах в...
 
Aleksey Vyazmikin:

Comunque, questo è tutto, grazie per aver fatto le virgole!

Sì, lo farò.

Finirò di modificare le classi (cercando di accelerare le cose), e aggiungere le sostituzioni di virgole.

Tra una settimana o due.