Ваш первый WebSecurityConfigurerAdapter
http
.authorizeRequests()
соответствует всем URL-адресам, ограничивает его только URL-адресами, начинающимися с /admin
, с помощью antMatcher
:
@Configuration
@Order(1)
public static class ProviderSecurity extends WebSecurityConfigurerAdapter{
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher("/admin/**")
.authorizeRequests()
.antMatchers("/admin/login").permitAll()
.antMatchers("/admin/**").access("hasRole('BASE_USER')")
.and()
...
% [ширина]. [точность]
Ширина должна включать десятичную точку.
%8.2 средств 8 широких символов; 5 цифр перед точкой и 2 после. Один символ резервируется для точки.
5 + 1 + 2 = 8
То, что Вы хотите, является модификатором:
sprintf(S, "%.10f", val);
у человека sprintf будет намного больше деталей о спецификаторах формата.
Для более полной ссылки посмотрите Википедию printf статья, раздел "printf заполнители формата" и хороший пример на той же странице.
%f
для значений плавающих.
Попытайтесь использовать %lf
вместо этого. Это разработано для, удваивается (который раньше назывался долгими плаваниями).
удвойте x = 3.14159265;
printf ("15.10lf\n", x);
Заботьтесь - вывод sprintf будет варьироваться через локаль C. Это может или не может быть тем, что Вы хотите. См. LC_NUMERIC в документах/страницах справочника локали.