Как установить ширину поля экспоненты для ostream?

Home должно быть Page или UserControl. Вы не можете установить свойство Content для Frame для экземпляра Window.

Если вам нужна история навигации, вам следует рассмотреть возможность использования NavigationService из Frame для перехода на страницу:

MyFrame.NavigationService.Navigate(new Uri("Home.xaml", UriKind.Relative));
6
задан andreas buykx 6 November 2008 в 13:01
поделиться

3 ответа

Я не думаю, что это возможно со стандартными манипуляторами. (если это, я хотел бы быть исправленным и учиться как),

Ваша единственная остающаяся опция создает streambuf самостоятельно и прерывает все числа экспоненты, которые переходят к потоку, переформатировали их вручную и передают их на базовый поток.

Кажется большой работой, и в то время как не аэрокосмические исследования, никакая тривиальная задача также.

На, 'почему' вопрос: Я знаю, что Linux определяет экспоненту как минимальные две цифры, я предполагаю, что Windows указывает его как минимальные три?

// on linux
std::cout << std::scientific << 1.23e4 << std::endl

Также добавляет начальный нуль:

1.230000e+04
1
ответ дан 17 December 2019 в 22:15
поделиться

Как продолжение ответа @Pieter, я смотрел в операторе <<(ostream&, дважды). Действительно, нет никакого поля для определения значения или ширины экспоненты. На окнах, оператор <<вперед к sprintf, который не имеет никакого размера экспоненты также.

В он - поворот, функция sprintf (в Windows) вызовы в _cfltcvt_l, функция, у нас нет исходного кода для, но чья подпись не предусматривает точность экспоненты.

Я не знаю ничего из реализации на Linux.

1
ответ дан 17 December 2019 в 22:15
поделиться

Изучите iomanip заголовок. Это имеет большую точность ширины и т.д.... функциональность.

-1
ответ дан 17 December 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: