Loading...
Woofles avatar Woofles 7 Точки

Проблем с конверсия - string to long

Здравейте!
Опитвам се да реша следната задача https://projecteuler.net/problem=8
Използвам string за цифрите и long за произведението но при умножение получавам абсурдно големи резултати.
Първата ми грешка разбира се беше директно да умножа string[i]*long - нея я премахнах вече :)
Сега обаче когато конвертирам стринга към лонг получавам кажи-речи същите резултати.
Конверсията правя със Convert.ToInt64 - в MSDN пише

"Converts the specified string representation of a number to an equivalent 64-bit signed integer."

Къде греша?
Има ли значение това че използвам string а не string[]?

0
Programming Basics
Alex0101 avatar Alex0101 374 Точки

използвай

long.Parse();

Само така се преобразува стринг в число

1
20/06/2016 22:56:37
Woofles avatar Woofles 7 Точки

Long не ми върши работа. Провери условието на задачата ако желаеш - имам произведение което има за горна граница близо 10^13 .....

Long е абсурдно далеч от този размер.
И ако не е проблем би ли обяснил как така "само" ?

0
Filkolev avatar Filkolev 4482 Точки

Стринг може да се преобразува в число по различни начини, включително Convert.ToInt64(). Може и ръчно да се сметне с цикъл. Грешно е по принцип за каквото и да било да се твърди, че само по определен начин може да се направи.

@Woofles, точно long ти трябва, int/uint не ти вършат работа, а няма тип, който да е по-голям от uint и по-малък от long. Това, че е по-голям, не пречи, пречи ако не е достатъчно голям.

1
Alex0101 avatar Alex0101 374 Точки

Не прочетох въпроса внимателно, за което се извинявам. Извън темата, до колкото знам единствената разлика на двата похвата е в това как се държат при подаване на null.

1
Woofles avatar Woofles 7 Точки

null за щастие не мога да имам в случая (май). С outofbouds се справих бързо поне.

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.