venerdì 4 luglio 2025

C# convert euro amount to letters

Il frammento di codice qui di seguito, illustra una tecnica per convertire nel linguaggio di programmazione C# l'importo di euro in lettere.
Una tecnica per convertire gli importi euro in lettere.


Di seguito si riporta la classe con il metodo per convertire gli importi in lettere.

Classe:

C#

public static class EuroInLettere

{

    private static readonly string[] Unita = { "zero", "uno", "due", "tre", "quattro", "cinque", "sei", "sette", "otto", "nove" };

    private static readonly string[] Decine = { "", "dieci", "venti", "trenta", "quaranta", "cinquanta", "sessanta", "settanta", "ottanta", "novanta" };

    private static readonly string[] DecineSpeciali = { "dieci", "undici", "dodici", "tredici", "quattordici", "quindici", "sedici", "diciassette", "diciotto", "diciannove" };

 

    public static string ConvertiEuroInLettere(decimal importo, bool centesimiTesto = false)

    {

        if (importo == 0)

            return "zero euro";

 

        string euroParte = ConvertiNumeroInLettere((long)importo);

        int centesimiParte = (int)((importo - Math.Floor(importo)) * 100);

        if(centesimiTesto==false)

            return $"{euroParte} euro /{centesimiParte:00}";

        else

        {

            //tutto lettere

            string   centesimiParteTesto = ConvertiNumeroInLettere((long)((importo - Math.Floor(importo)) * 100));

 

            return $"{euroParte} euro e {centesimiParteTesto} centesimi";

        }

 

    }

 

    private static string ConvertiNumeroInLettere(long numero)

    {

        if (numero < 10)

            return Unita[numero];

        if (numero < 20)

            return DecineSpeciali[numero - 10];

        if (numero < 100)

            return Decine[numero / 10] + (numero % 10 > 0 ? Unita[numero % 10] : "");

        if (numero < 1000)

            return (numero / 100 == 1 ? "cento" : Unita[numero / 100] + "cento") + (numero % 100 > 0 ? ConvertiNumeroInLettere(numero % 100) : "");

        if (numero < 1000000)

            return (numero / 1000 == 1 ? "mille" : ConvertiNumeroInLettere(numero / 1000) + "mila") + (numero % 1000 > 0 ? ConvertiNumeroInLettere(numero % 1000) : "");

        if (numero < 1000000000)

            return (numero / 1000000 == 1 ? "un milione" : ConvertiNumeroInLettere(numero / 1000000) + " milioni") + (numero % 1000000 > 0 ? ConvertiNumeroInLettere(numero % 1000000) : "");

 

        return (numero / 1000000000 == 1 ? "un miliardo" : ConvertiNumeroInLettere(numero / 1000000000) + " miliardi") + (numero % 1000000000 > 0 ? ConvertiNumeroInLettere(numero % 1000000000) : "");

    }

}




Di seguito il relativo utilizzo.

C#

  string testoConvertito  = EuroInLettere.ConvertiEuroInLettere(decimal.Parse(numero), true);


giovedì 3 luglio 2025

TypeScript create file Excel and download

In questo articolo vedremo come creare un file Excel,  ed effettuare il download del file che è stato creato, il tutto con il linguaggio di programmazione TypeScript e Visual Studio Code.

Creazione del progetto

Dopo aver creato un nuovo progetto di tipo Angular con Visual Studio Code, oppure utilizzare un progetto esistente, occorre installare il componente per la gestione Excel, denominato “Xlsx”.
Nella finestra del terminale, digitare il seguente comando:

npm install xlsx

Facciamo click sul pulsante “Invio” o “Enter” della tastiera, in modo che viene avviata l’installazione del componente.
Al termine dell’installazione, occorre installare il supporto completo per il linguaggio TypeScript, di seguito il comando da eseguire nel terminale.

npm install @types/xlsx

A questo punto la creazione e preparazione del progetto è terminata

Stesura del codice

Ora non resta che scrivere il codice per la creazione del file Excel ed effettuare il relativo download.
Aggiungiamo in alto, nella dichiarazione degli “Import” per le varie classi, la dichiarazione di importazione di questo componente, il tutto come riportato qui di seguito.

TypeScript

import * as XLSX from 'xlsx';

 

In questo modo abbiamo aggiunto il riferimento al componente “Excel”.
Si crea una classe denominata “Nominativo”, che avrà tre proprietà, di seguito la dichiarazione della classe sarà usata come fonte dati per il file “Excel”.


TypeScript

export    class Nominativo {

 

public Nome: string;

public Cognome: string='';

public Eta: Date;




constructor(nome: string, cognome: string, eta: Date){

  this.Nome = nome;

  this.Cognome = cognome;

  this.Eta = eta;

 

}



}

 

Questa classe conterrà i dati che saranno visualizzati nel file “Excel”, ma possiamo usare altre modalità di gestione dei dati.
Nell’evento "ngOnInit", si crea un oggetto di questa classe di tipo array, sarà valorizzato con alcuni dati, il tutto come riportato qui di seguito.

TypeScript:

nominativi: Nominativo[] = [];

 this.nominativi.push(new Nominativo('Emanuele', 'Mattei', new Date('12/12/1974')));

  this.nominativi.push(new Nominativo('Luigi', 'Cristaldi', new Date('12/12/1984')));

  this.nominativi.push(new Nominativo('Luca', 'Rossi', new Date('12/12/1954')));

  this.nominativi.push(new Nominativo('Max', 'Bianchi', new Date('12/12/1994')));

 

Ora tramite la classe per la gestione dei file Excel, denominata Worsheet, contenente nel componente XLSX, generiamo il file “Excel” con i dati presenti nell’array dell’oggetto creato in precedenza.

Di seguito il frammento di codice delle suddette operazioni.

 

TypeScript

  // Crea il foglio Excel dal JSON

  const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(this.nominativi);

 // Crea la cartella di lavoro e aggiungi il foglio di lavoro

  const workbook: XLSX.WorkBook = XLSX.utils.book_new();

  XLSX.utils.book_append_sheet(workbook, worksheet, 'Foglio1');

 

  // Scrivi il file Excel

  XLSX.writeFile(workbook, 'file.xlsx');

 

 

Conclusioni

La flessibilità e semplicità del linguaggio di programmazione TypeScript, offre al programmatore strumenti che semplificano e migliorano la stesura del codice e la realizzazione di software, anche di una certa complessità. L’articolo ha voluto illustrare una tecnica di come dotare i nostri progetti della possibilità di esportare i dati in formato Microsoft Excel, il programma di calcolo più diffuso e potente al mondo. 

mercoledì 2 luglio 2025

gitnuro software gratuito per la gestione del codice sorgente GIT

 

gitnuro software git

Un software con interfaccia grafica molto interessante e multipiattaforma, per la gestione del codice sorgente, parliamo del software Gitnuro  che permette di gestire il codice sorgente dei propri progetti in ambito GIT.

Per maggiori informazioni e download visitate il seguente sito https://gitnuro.com/

martedì 1 luglio 2025

.Net gaming siti utili per la programmazione e creazione di video giochi in C#

 


Per tutti coloro che desiderano creare video giochi o fare formazione in tale ambito, si riportano una serie di siti per realizzare video giochi utilizzando il linguaggio di programmazione C# e la tecnologia .Net .

La creazione dei video giochi richiede però la conoscenza di questo tipo di progetti e componenti appositi, di seguito un elenco di siti per iniziare a scrivere codice in ambito .Net Gaming, in particolare con il linguaggio di programmazione C#.

Qui https://devblogs.microsoft.com/dotnet/choose-a-net-game-engine/ un post con vari riferimenti sui vari componenti gratuiti, mentre qui https://devblogs.microsoft.com/dotnet/game-development-with-net/ altro post sullo sviluppo dei video giochi.

Qui https://dotnet.microsoft.com/apps/games?WT.mc_id=gamedev-blog-abhamed il nuovo portale per la creazione dei video giochi, mentre qui https://dotnet.microsoft.com/learn/games?WT.mc_id=gamedev-blog-abhamed l'area formativa, qui https://dotnet.microsoft.com/learn/games/unity-tutorial/intro?WT.mc_id=gamedev-blog-abhamed l'area formativa Unity.

Che dire, buona programmazione e buon divertimento.