我需要将整数的输出填充到给定的长度.
例如,对于4位长度,整数4的输出是"0004"而不是"4".我怎样才能在C#2.0中这样做?
我正在尝试编写一个允许我执行以下操作的宏:FORMAT(a << "b" << c << d),结果将是一个字符串 - 与创建ostringstream,插入a...d和返回相同.str().就像是:
string f(){
ostringstream o;
o << a << "b" << c << d;
return o.str()
}
Run Code Online (Sandbox Code Playgroud)
基本上,FORMAT(a << "b" << c << d) == f().
首先,我试过:
1: #define FORMAT(items) \
((std::ostringstream&)(std::ostringstream() << items)).str()
Run Code Online (Sandbox Code Playgroud)
如果第一个项目是C字符串(const char *),它将以十六进制格式打印字符串的地址,接下来的项目将打印正常.如果第一个项目是a std::string,则将无法编译(没有匹配的运算符<<).
这个:
2: #define FORMAT(items) \
((std::ostringstream&)(std::ostringstream() << 0 << '\b' << items)).str()
Run Code Online (Sandbox Code Playgroud)
带给你的似乎是一个正确的输出,但0和\b存在当然的字符串中.
以下似乎工作,但编译警告(采取临时地址):
3: #define FORMAT(items) …Run Code Online (Sandbox Code Playgroud) 我一直在研究Android手机用户选择的日期格式问题.我在stackoverlow上经历了几乎所有的问题和答案,并没有得到完美的答案.例如: - 我在手机中选择了dateformat是"星期六,2011年12月31日"但是当我在stackoverflow上使用基于问题的答案: -
DateFormat df = android.text.format.DateFormat.getDateFormat(context.getApplicationContext());
tv.setText(df.format(date));
Run Code Online (Sandbox Code Playgroud)
上面的代码返回06/08/2011(mm/dd/yyyy)格式.但请参阅我在手机上选择的日期格式.我怎样才能得到确切的格式?
我想sprintf("%02d", x);在Dart中模拟C ,但是我找不到字符串格式,只能找到字符串插值.
(我的问题几乎和这个问题中描述的一样,只有答案在我的情况下不起作用.)
我在带有Postgres数据库的Rails应用程序中使用jQuery UI Datepicker.默认实现使用mm/dd/yy日期格式来显示所选日期,这正是我想要的.但是,在将记录保存到数据库后,月份和日期相反 - 然后显示为yy-dd-mm.所以选择3/11/2012尝试保存为11月3日而不是3月11日,并且根本没有保存像2012年3月31日这样的日期,因为它不存在.
到目前为止,我已经走了三条不同的途径试图解决这个问题:
1)首次尝试重新格式化文本字段,以便显示我的想法:
<%= f.text_field :foo, :value => (@model.foo.blank? ? '' : @model.foo.strftime('%m/%d/%Y')), class: "datepicker" %>
Run Code Online (Sandbox Code Playgroud)
最初正确显示03/31/2012,但保存时仍然反转.
2)接下来我尝试更改存储日期的默认方式,认为可以解决问题.正如在这个问题的答案中所描述的,我在config/locales/en.yml中添加了以下内容:
# config/locales/en.yml
en:
date:
formats:
default: "%m/%d/%Y"
Run Code Online (Sandbox Code Playgroud)
这根本没有任何区别.接下来我发现了这个问题并尝试使用以下行创建config/initializers/date_formats.rb:
Date::DATE_FORMATS[:default]="%m/%d/%Y"
Time::DATE_FORMATS[:default]="%m/%d/%Y %H:%M"
Run Code Online (Sandbox Code Playgroud)
同上,没有区别.
3)在玩了很多组合之后,我发现DID工作的一件事是在我调用datepicker插件时指定了yyyy-mm-dd格式 - 它与我想要的相反,但至少日期可以是成功保存.所以datepicker调用如下所示:
$( ".datepicker" ).datepicker({ dateFormat: 'yy-mm-dd' });
Run Code Online (Sandbox Code Playgroud)
从日历中选择3月31日将使用2012-03-31填充该字段,并在保存后仍显示为2012-03-31.
但是我怎样才能让日期选择器以mm/dd/yy格式工作?我无法想象这是一件困难的事情,但我错过了什么?我是否必须对Postgres中的日期存储方式做些什么?(它们被指定为日期,而不是日期时间.)
当我C-c C-s在Emacs中插入日程表时org-mode,它总是插入如下日期:
* TODO write product documents
SCHEDULED: <2013-10-25 Fri>
Run Code Online (Sandbox Code Playgroud)
虽然我想要的是这个:
* TODO write product documents
SCHEDULED: <2013-10-25 Fri 11:34>
Run Code Online (Sandbox Code Playgroud)
现在我手动执行此操作:首先插入计划,然后删除日期,然后使用添加日期和时间的时间戳C-u C-c ..
如何仅使用日期和时间插入日程表C-c C-s?
谢谢.
我有一个输入类型时间的表单.我正在努力设定价值观.但它没有表现出来.这是我的代码.
<input type="time" name="exit" id="teacher-entry-exit-form-exit-input" class="form-control" value="08:56 AM" required="">
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我想知道在C#中使用什么来在我的控制台窗口中格式化我的输出我试图使用\ t但它不起作用
我知道C中有printf来格式化我的输出
当我运行它时,第一个正确创建为日期.第二个失败,返回a boolean,所以我无法格式化.时间是否超出范围?
//works correctly
$startDate = "2015-05-06 10:49:20.637133";
$start = DateTime::createFromFormat('Y-m-d h:m:s.u',$startDate);
echo $start->format('m/d/y');
//doesn't work correctly
$startDate = "2015-05-12 15:49:06.821289";
$start = DateTime::createFromFormat('Y-m-d h:m:s.u',$startDate);
echo $start->format('m/d/y');
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个函数来向K和M提供数千和数百万例如:
1000 = 1k
1100 = 1.1k
15000 = 15k
115000 = 115k
1000000 = 1m
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止的地方:
func formatPoints(num: Int) -> String {
let newNum = String(num / 1000)
var newNumString = "\(num)"
if num > 1000 && num < 1000000 {
newNumString = "\(newNum)k"
} else if num > 1000000 {
newNumString = "\(newNum)m"
}
return newNumString
}
formatPoints(51100) // THIS RETURNS 51K instead of 51.1K
Run Code Online (Sandbox Code Playgroud)
如何让这个功能起作用,我缺少什么?