Ho un'immagine con larghezza 888px e altezza 592px, con proporzioni larghezza: altezza 3: 2.Visual Studio 2015 dice che il cast è ridondante. Perché?
quanto segue produce un valore errato di 1, a causa del calcolo integer/troncamento come BitmapDecoder.PixelWidth e BitmapDecoder.PixelHeight sono entrambi uint
(intero senza segno), e decoder
sotto essendo un oggetto BitmapDecoder.
double aspectRatio = decoder.PixelWidth/decoder.PixelHeight;
Di seguito si fornisce il corretto valore atteso di 1,5, ma Visual Studio dice 'Cast è ridondante', ma perché?
double aspectRatio = (double)decoder.PixelWidth/(double)decoder.PixelHeight;
è necessario solo una (doppia) Cast - doppio/int = doppio. O int/double = double. – Dmitriy
Il risultato sarà sempre un doppio se si divide un doppio con un qualsiasi tipo numerico. –
'double aspectRatio = static_cast (decoder.PixelWidth)/decoder.PixelHeight;' dovrebbe essere sufficiente per far sì che il compilatore usi 'PixelHeight' come un doppio. –
Pixelchemist